java - Selenium 在属性文件或 Excel 表中保留 xpath 的最佳方法是什么

标签 java selenium selenium-webdriver selenium-grid

我有两个 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 用户邮件列表上也有很多关于这个主题的讨论,这里有一些有用的线程:

最后,Selenium 文档和 Selenium wiki 中提供了一些有关页面对象的信息:

关于java - Selenium 在属性文件或 Excel 表中保留 xpath 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16032561/

相关文章:

java - 将新元素添加到 xml 文件的给定位置

python - 什么是 python 的 useAutomationExtension for selenium?

selenium - 当预期消息多于一行时, Protractor ExpectedConditions.textToBePresentInElement 返回 false

java - 在 Java 中找不到指定 id 的上下文 - Selenium webdriver

java - 从任意类获取Android资源值

java - 调用自写类时出现NullPointerException

javascript - 如何在 Selenium webdriver 中使用 cssSelector 识别多个参数

selenium - 通过 Haskell 和 webdriver 重用现有的 Selenium session

java - Webdriver隐式等待动态ID

java - 如何生成一个随机的五位数Java