【问题标题】:How to automate in selenium using Java如何使用 Java 在 selenium 中实现自动化
【发布时间】:2017-12-19 23:04:59
【问题描述】:

我是使用 selenium 的 Java 新手。如何根据以下要求编写更通用的代码?

测试用例:使用关键字搜索医生

  1. 访问 www.medinfi.com
  2. 选择地区 AECS,班加罗尔(地区输入应该是动态的,即它应该能够随时更改测试数据)
  3. 在第二个搜索框中输入搜索关键字“shai”,搜索医生/医院名称。 (搜索关键字应该是动态的)
  4. 根据预期输出数据集验证下拉列表中的输出

包 com.medinfi.code;

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

   public class MedinfiChallenge {

  private WebDriver driver;
   @BeforeClass(alwaysRun = true)
   public void setUp() throws Exception
   {
    System.setProperty("webdriver.chrome.driver", "F:\\SeleniumProject\\Medinfi\\Driver\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.get("http://www.medinfi.com/");
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

    }

   @Test
   public void testMedinfi() throws Exception 
   {
       driver.findElement(By.xpath("//*[@id='city-locality1']")).sendKeys("AECS Layout, Bengaluru");
       driver.findElement(By.xpath("//*[@id='ip1_text1']")).sendKeys("Hospitals");
       driver.findElement(By.xpath("//*[@id=\"searchIcon\"]")).click();

   }

   @AfterClass(alwaysRun = true)
   public void tearDown() throws Exception 
   {
       driver.quit();
   }

   }

【问题讨论】:

标签: java selenium


【解决方案1】:

为了使您的代码更通用并且可用于自动化测试,您必须将所有设置代码放入一个文件(通常在现实世界中使用 excel 文件)并从该文件中读取。这些信息包括:驱动程序路径、需要测试的 web 链接、xpath... 这些是通用信息会经常更改,因为您没有测试 1 个网站或 1 个链接,您需要测试多个站点,每个站点都有特定的 xpath测试。有一个框架供你参考Open2Test你可以获取源代码并学习他们的做法。

【讨论】:

  • 感谢您的回复。能否请您查看我的代码,如果有任何问题,请建议我。
  • 您最初的问题是如何通用您的代码,我已经向您介绍了方法。您上面的代码似乎没有错,但它只是作为演示版本,因为所有东西都是硬代码。
猜你喜欢
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 2021-09-02
相关资源
最近更新 更多