Can';我们是否使用excel作为Selenium的对象存储库。。?

Can';我们是否使用excel作为Selenium的对象存储库。。?,excel,selenium,frameworks,automation,webdriver,Excel,Selenium,Frameworks,Automation,Webdriver,我很想知道,在使用SeleniumWebDriver实现自动化框架时,为什么我们不能使用excel作为对象存储库,为什么每个人都使用或属性文件来存储所有定位器。 我的想法是,如果我们使用excel以页面方式保存所有元素定位器,那么很容易将所有定位器保存在一个位置/一个excel,如果需要,我们也可以轻松更改定位器路径 尽管我在继续实施之前正在寻找建议,如果使用excel有任何缺点。我个人只需创建一个定位器包,并将各个页面定位器文件保存在其中,然后根据需要导入它们。你究竟如何/在哪里储存它们,这是

我很想知道,在使用SeleniumWebDriver实现自动化框架时,为什么我们不能使用excel作为对象存储库,为什么每个人都使用或属性文件来存储所有定位器。 我的想法是,如果我们使用excel以页面方式保存所有元素定位器,那么很容易将所有定位器保存在一个位置/一个excel,如果需要,我们也可以轻松更改定位器路径


尽管我在继续实施之前正在寻找建议,如果使用excel有任何缺点。

我个人只需创建一个定位器包,并将各个页面定位器文件保存在其中,然后根据需要导入它们。你究竟如何/在哪里储存它们,这是一个偏好问题

我想这项技术确实与您所说的页面对象模型背道而驰。老实说,我不知道为什么要将它们存储在excel表格中。这只是打开和读取excel文件的额外步骤

仅在此基础上进行扩展,定位器包含如下定位器:

    public static final By adminLoginPageForm() {return By.id("login-form");}
    public static final By adminLoginPageUserName() {return By.id("uname");}
    public static final By adminLoginPageUserPass() {return By.id("pass");}
    public static final By adminLoginPageLoginButton() {return By.id("loginBtn");}
然后在页面类中引用它们,如:

    import locators.adminPageLocators.*;
    WebElement adminLoginPageLoginButton= getDriver().findElement(adminLoginPageLoginButton());
    adminLoginPageLoginButton.click();

就我个人而言,我只是创建了一个定位器包,并将各个页面定位器文件保存在其中,然后根据需要导入它们。你究竟如何/在哪里储存它们,这是一个偏好问题

我想这项技术确实与您所说的页面对象模型背道而驰。老实说,我不知道为什么要将它们存储在excel表格中。这只是打开和读取excel文件的额外步骤

仅在此基础上进行扩展,定位器包含如下定位器:

    public static final By adminLoginPageForm() {return By.id("login-form");}
    public static final By adminLoginPageUserName() {return By.id("uname");}
    public static final By adminLoginPageUserPass() {return By.id("pass");}
    public static final By adminLoginPageLoginButton() {return By.id("loginBtn");}
然后在页面类中引用它们,如:

    import locators.adminPageLocators.*;
    WebElement adminLoginPageLoginButton= getDriver().findElement(adminLoginPageLoginButton());
    adminLoginPageLoginButton.click();

我想知道它在性能方面是如何工作的。如果测试并行运行并尝试使用相同的文件,会发生什么情况。我的意思是你在这里添加了另一层。我将定位器放在一个包中,每个视图使用一个类。这也意味着如果我想编辑一些东西,我不必打开excel文件。我是一个新手,第一次实现自动化框架,还没有从性能角度考虑。此外,我只是想第一次读取excel,并将所有数据存储在arraylist中,以便在不重新打开excel的情况下多次访问数据。但正如你所说,我需要检查它对性能的影响。非常感谢。每个人都在使用PageObject或属性文件-我不认为每个人都在使用它。我们没有。顺便说一句,我不明白为什么在属性文件中无法实现您在excel中执行的相同操作。就个人而言,我们使用xml文件来存储页面定位器。我想知道它在性能方面是如何工作的。如果测试并行运行并尝试使用相同的文件,会发生什么情况。我的意思是你在这里添加了另一层。我将定位器放在一个包中,每个视图使用一个类。这也意味着如果我想编辑一些东西,我不必打开excel文件。我是一个新手,第一次实现自动化框架,还没有从性能角度考虑。此外,我只是想第一次读取excel,并将所有数据存储在arraylist中,以便在不重新打开excel的情况下多次访问数据。但正如你所说,我需要检查它对性能的影响。非常感谢。每个人都在使用PageObject或属性文件-我不认为每个人都在使用它。我们没有。顺便说一句,我不明白为什么在属性文件中无法实现您在excel中执行的相同操作。就个人而言,我们使用xml文件以页面方式存储定位器。感谢Cathal的回复和解释。我们计划创建一个测试脚本,它可以由手动测试人员(不具备自动化框架和编码知识)每天运行。我们将教他们如何在页面对象发生更改时捕获页面元素,因此他只需打开excel,更新定位器并重新运行测试。感谢Cathal的回复和解释。我们计划创建一个测试脚本,它可以由手动测试人员(不具备自动化框架和编码知识)每天运行。我们将教他们如何在页面对象发生更改时捕获页面元素,这样他只需要打开excel、更新定位器并重新运行测试。