所以我们假设我们有WebElement foo
。 foo
看起来很疯狂,不断改变xpath。当您不得不经常这样做时,硬编码foo
会变得非常烦人。
我刚刚在Firebug上发现了html编辑,这让我很奇怪,无论如何我只能写id
值来用于我的Selenium测试?任何正在测试的WebElements中明显缺少没有id
值的东西都变得很老了。
提前致谢。
答案 0 :(得分:3)
在Firebug或Chrome devtools中编辑HTML只是暂时的。关闭浏览器后,您的更改就会消失。除了请求您的开发人员将ID添加到所需元素之外,没有真正的解决方案。我假设您不拥有该网站,或者说不可能,或者您会提到它。欢迎使用测试自动化,网站创建者在创建网站时不考虑测试自动化......:)
答案 1 :(得分:0)
对于这个问题,是否可以将html注入我的硒测试,答案是肯定的。您可以使用JavaScriptExecutor
将html注入WebPage。
((JavascriptExecutor) driver).executeScript("arguments[0].id = 'abc';", element);
就像JeffC提到的那样,为了注入id或任何HTML,你必须首先识别所需的元素。此外,刷新页面后更改将会丢失。