如何使用Java在selenium中自动化

时间:2017-07-14 18:51:08

标签: java selenium

我是使用selenium的java的新手。如何在下面的要求上编写更多通用代码?

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

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

    package 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();
       }
    
       }
    

1 个答案:

答案 0 :(得分:-1)

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