我们在做web automation
的时候,经常会碰到很多元素难定位的情况,通常情况下我们比较容易去处理,例如我们找不到一个元素的id时,我们可以用xpath简单定位到
e.g.: //div[@id=’a’]/div/div/ul/li 诸如此类等等。
?
? ? ? 较为不幸的情况就是,一切都是变化的,我们无法去用某个元素是否存在或者某个元素是具有某些字符串来判断该页面是否正常显示,如果碰到这样的情况怎么办,比如一个reader下面每次显示的东西都是不一样的,但我现在要避免这个reader下显示为空这种异常,而其他的元素,即使在出现unexpected
error的时候也依然正常显示,并且窗口非模态,此时如何处理?
?
? ? ?幸运是我可以拿到这个reader
pane的根节点//div[@id='reader']/div/div,
这个节点每次在打开不同文件的时候都会存在,这个时候我们就可以用一些简单的xpath知识来找到这个节点下是否有子节点存在//div[@id='reader']/div/div/*,
通过testng的断言可以轻易达到想要的结果
?
assertTrue(selenium.isElementExist(“//div[@id='reader']/div/div/*”))
?
? ? ?Happy?Ending