Bra*_*ace 2 selenium xpath playframework
使用#{selenium}
标记创建selenium测试时,如何使用复杂的XPath定位器?我有一些更简单的例子,但我真的很想避免为了方便测试而给每个元素一个id.
我尝试过这样的变化:
#{selenium 'Sitemap'}
...
// These work:
assertTitle('Site Map')
verifyTextPresent('Site Map')
verifyTextPresent('Login')
verifyText('id=test', 'Login')
verifyText('//ul', 'Login')
verifyText('//ul[2]', 'Login')
// this one results in "Element //ul[@class=sitemap] not found"
verifyText('Login','//ul[@class=sitemap]')
#{/selenium}
Run Code Online (Sandbox Code Playgroud)
有没有人让更复杂的版本工作?它看起来应该根据selenium文档工作.此外,是否可以在任何地方记录Play的上下文中创建硒测试?我能找到的唯一提到的就是这些微不足道的例子.
我不同意学位.搜索整个DOM的构造错误的xpath会减慢测试速度,但构造良好的xpath应该对速度影响最小(除非你使用的是具有可怕JavaScript渲染引擎的IE).
理想情况下,您希望将xpath键入一个ID,尽可能靠近要搜索的DOM区域,这将确保您只搜索DOM的特定区域,而不是像上面显示的那样使用xpath搜索整个DOM,即使它确实快速找到匹配的元素.
我将以http://www.lazeryattack.com为例,提供一些我称之为优秀xpath 的示例.如果您有任何具体的想法,我会看到我可以做些什么来帮助:
我建议使用FireFox和FireBug以及FirePath扩展来帮助你计算xpath,这是我个人最喜欢的组合.
归档时间: |
|
查看次数: |
10767 次 |
最近记录: |