使用#{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}
有没有人得到更复杂的版本工作?看起来应该按照硒文档工作。另外,在Play上下文中创建硒测试是否记录在任何地方?我能找到的唯一提及它的是these trivial examples。
最佳答案
你试过了吗
//ul[@class='sitemap']
请注意站点地图周围的单引号。
XPath会使您的测试变慢,并且id,name是更好的选择。