如何修改Selenium IDE以将Id用作元素定位器

时间:2018-08-30 05:57:07

标签: selenium automated-tests ui-automation selenium-ide

我想修改Selenium IDE插件,以便它只能通过特定属性来查找元素。 目前,Selenium IDE使用的定位器过于僵化。 例如:
xpath=//clr-dg-cell[4]/div
如果页面布局被修改,它们将不起作用。我想以这样的方式修改Selenium IDE,以便每当我开始记录时它仅使用特定的属性(例如:id)。 有点像 by.id("username")
 我应该修改Selenium IDE插件中的哪个文件来实现此功能?

1 个答案:

答案 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,它都将始终在其图片“下方”找到相同的元素。