我有两个 Selenium java 自动化混合框架。
在一个框架中,xpath 存储在 OR.properties 文件中。
在其他框架中,xpath 存储在 Excel 工作表中。
最后,我将创建一个新的框架,以便我在新框架中使用哪种方式(OR.Properties/Excel 工作表)。
有人可以建议一下您的经历吗?
最佳答案
都不要使用页面对象并在页面对象内定义定位器。
最大的优点是它将与页面相关的所有内容保留在一个位置,这使得重构测试变得更加容易。
这是一个非常简单的 Java 示例(您没有指定哪种语言,所以我不知道这是否与您相关,但这个概念应该成立)。
public class HomePage {
@FindBy(how = How.NAME, using = "q")
private WebElement searchTerms;
public HomePage(WebDriver driver) {
PageFactory.initElements(driver, this)
}
/**
* Perform a Google search
*
* @param searchString Search query
*/
public void searchFor(String searchString) {
searchTerms.clear();
searchTerms.sendKeys(searchString);
searchTerms.submit();
}
}
您应该具有确定元素如何在页面对象内定位和交互的逻辑,然后测试可以使用页面对象来驱动您正在测试的网站。
在 selenium 用户邮件列表上也有很多关于这个主题的讨论,这里有一些有用的线程:
- Page object or test framework method design, which is better? More methods vs parameterized methods?
- PageObject Constructors
最后,Selenium 文档和 Selenium wiki 中提供了一些有关页面对象的信息:
关于java - Selenium 在属性文件或 Excel 表中保留 xpath 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16032561/