众所周知,Selenium TC使用定位器(如By.xpath
,By.id
等)来识别DOM元素。但是,随着代码库的增加,管理这些定位器变得很困难。
重用/维护这些定位器的最佳方法是什么?
答案 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表面来自动化,我们决定让定位器靠近代码。因此,它们驻留在使用它们的对象类中。这使得维护在这种情况下更容易一些。我在其他公司做过不同的事情。