我想修改Selenium IDE插件,以便它只能通过特定属性来查找元素。
目前,Selenium IDE使用的定位器过于僵化。
例如:
xpath=//clr-dg-cell[4]/div
如果页面布局被修改,它们将不起作用。我想以这样的方式修改Selenium IDE,以便每当我开始记录时它仅使用特定的属性(例如:id)。
有点像
by.id("username")
我应该修改Selenium IDE插件中的哪个文件来实现此功能?
答案 0 :(得分:1)
如果您要使用固定ID,则解决方法很简单id=YourID
:
{
"Command": "type",
"Target": "id=sometext",
"Value": "This box is ${boxsize} chars wide"
},
但是我想您正在寻找的是how to work with changing ID in Selenium IDE:
在某些网站上,按钮(或通常是元素)的ID在不同的页面加载之间变化(动态ID)。这意味着测试案例宏将无法重播,因为每次刷新页面后按钮都有一个新的ID。
解决方案:通常,ID的某些部分保持不变e。 G。 123456后和555555。我们可以使用XPath的开头为或包含函数来仅搜索ID的稳定部分。所以选择器将是这样的:// * [contains(@id,'post-')]。另一种解决方案(仅限Kantu)是使用visual UI testing来标识元素。无论其具有什么ID,它都将始终在其图片“下方”找到相同的元素。