在将测试用例从Selenium IDE导出到java / junit / WebDriver时,有没有办法为Dom Locators做一些解决方法?
这些还没有实现(大约几年?)
我有错误:
// ERROR: Caught exception [Error: Dom locators are not implemented yet!]
// ERROR: Caught exception [Error: Dom locators are not implemented yet!]
我的示例 dom locator :
document.findflight.servClass[2]
<input type="radio" value="Coach" name="servClass" checked="">
<font face="Arial, Helvetica, sans-serif">
Economy class
<br>
<input type="radio" value="Business" name="servClass">
Business class
<br>
<input type="radio" value="First" name="servClass">
First class
</font>
答案 0 :(得分:1)
你是对的,仍然没有直接出口到&#34;实施的定位器&#34;甚至对于Selenium WebDriver(例如)。由于这个事实,您可以通过手动选择一些直接定位器策略来解决此问题。只需在Selenium定位器文档here中查看所有可能的内容。希望有所帮助。
答案 1 :(得分:1)
在将测试用例从Selenium IDE导出到java / junit / WebDriver时,有没有办法为Dom Locators做一些解决方法?
没有自动转换。您必须使用xpath表达式手动执行此操作:
//*[@name='findflight']/*[@name='servClass'][2]
或CSS选择器:
[name=findflight] > [name=servClass] > *:nth-child(2)
这些还没有实现(大约几年?)
实现该功能没有意义,因为DOM定位器不可靠。 DOM定位器与文档相关,因此页面结构的任何更改都会破坏测试。
答案 2 :(得分:0)
实际上,由于这篇文章,我找到了自己的解决方案: http://hiromia.blogspot.com/2015/10/how-to-handle-dom-in-selenium-webdriver.html
我用过:
(WebElement) ((JavascriptExecutor) driver).executeScript("return " + el[0]);