重复使用硒元素定位器的最佳方法是什么?

时间:2016-07-20 10:21:23

标签: java selenium

众所周知,Selenium TC使用定位器(如By.xpathBy.id等)来识别DOM元素。但是,随着代码库的增加,管理这些定位器变得很困难。

重用/维护这些定位器的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

page object pattern是管理定位器的最佳方式。

  • 面向对象的方法
  • 按页面排列
  • 可以在目录中组织
  • 支持根据操纵交互的需要制作其他方法

答案 1 :(得分:1)

有很多方法,但我个人喜欢java中的.properties文件,您可以在其中定义所有选择器: 创建一个属性文件,我们可以将其命名为selectors.properties并按部分分隔:

#page 1
userNameSelector= input.loginName
passwordSelector= input.password
submitSelector= button.submit
#page 2
...

然后阅读属性文件

Properties properties = new Properties();
try {
properties.load(new FileInputStream("path/filename"));
} catch (IOException e) {
  ...
}

然后在你的测试用例中:

fineElement(by.cssSelector(properties.getProperty(userNameSelector));

等等

希望这会有所帮助

答案 2 :(得分:0)

与生活中的大多数事情一样,我认为没有一种“最好”的方式。这取决于代码的结构,定位器的数量,开发过程,定义定位器的方式(选择器或字符串?)等。

例如,在我目前的工作中,我们有一个相对较小的GUI表面来自动化,我们决定让定位器靠近代码。因此,它们驻留在使用它们的对象类中。这使得维护在这种情况下更容易一些。我在其他公司做过不同的事情。