我可以使用java在selenium webdriver中进行软编码吗?

时间:2015-05-12 05:44:40

标签: java android selenium xpath

所以这里的问题是我必须为每个无法迭代的元素编写driver.find()方法,当然每个页面元素都会更改。所以我的问题是,有什么办法让我可以软编码我的测试而不是硬编码它,因为它变得非常难以进行更改。有任何方法,所以我可以从表中获取参数或值或xpath等来自LibreOffice。

以下是我当前实施的一部分:

driver.findElement(By.xpath("//a[contains(.,'Modules')]")).click();
driver.findElement(By.xpath("//a[contains(.,'Sales Module')]")).click(); 
driver.findElement(By.partialLinkText("File")).click(); 
driver.findElement(By.xpath("//a[contains(.,'NEW')]")).click(); 
driver.findElement(By.partialLinkText("Enquiry")).click(); 
driver.findElement(By.xpath("//a[contains(.,'Domestic')]")).click(); 
if(driver.findElement(By.xpath("//div[contains(.,'Sales Enquiry Form')]"))!=null){ 
    System.out.println("Success"); 
} 
else{ 
    System.out.println("Failed"); 
} 

1 个答案:

答案 0 :(得分:1)

目前有三种方法正在进行,

  1. 从属性文件中读取您的定位器。
  2. 页面对象模型+页面工厂。
  3. 以上两种杂交。对于页面工厂,您将需要创建customPageFactory,但这是可能的。
  4. 根据您的需要选择一种方法。(定位器的更改频率如何?需要投入多少费用?您需要长期或短期解决方案吗?等)

    现在请您在stackoverflow或online上查找这三种方法。正如他们多次讨论过的那样。