📜  Selenium-TestNG(1)

📅  最后修改于: 2023-12-03 15:20:04.401000             🧑  作者: Mango

Selenium-TestNG

Selenium-TestNG是一种自动化测试框架,用于测试Web应用程序。它结合了Selenium和TestNG两个开源工具。

Selenium

Selenium是一个用于自动化Web浏览器操作的工具,它可以模拟用户在Web浏览器中的操作。Selenium可以用于自动化测试,也可以用于爬虫等其他Web应用程序自动化操作。

TestNG

TestNG是一个用于Java编程语言的测试框架,它在JUnit的基础上提供了更多的功能。TestNG可以用于单元测试、集成测试和端到端测试等。

Selenium-TestNG的结合

Selenium-TestNG结合了Selenium和TestNG的优点,它提供了更容易管理和维护的测试框架。Selenium-TestNG可以用于Web应用程序自动化测试。我们可以使用TestNG来管理测试套件,测试用例之间的依赖关系,以及测试的报告生成等。同时,我们可以使用Selenium来自动化Web浏览器的操作,进行测试用例的执行。

创建一个Selenium-TestNG的测试类
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
 
public class TestNGSeleniumDemo {
    public String baseUrl = "https://www.google.com/";
    public WebDriver driver ;
     
     @BeforeTest
      public void setBaseURL(){
          System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe");
          driver = new ChromeDriver(); 
      }
     
   @Test
   public void verifyHomePageTitle() {
        driver.get(baseUrl);
        String expectedTitle = "Google";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
   }
     
      @AfterTest
      public void terminateBrowser(){
          driver.close();
      }
}

在这个例子中,我们建立了一个名为TestNGSeleniumDemo的测试类并且实现了@BeforeTest、@Test和@AfterTest注释方法。在@BeforeTest注释方法中,我们配置了Chrome浏览器驱动并初始化了WebDriver。@Test注释方法则测试了Google页面的标题是否为“Google”。最终在@AfterTest注释方法中,我们释放浏览器资源,即使得WebDriver关闭。

运行Selenium-TestNG测试

我们可以使用maven来运行该测试,我们只需要定义pom.xml文件如下:

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.x</version>
    </dependency>
     
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.3.0</version>
    </dependency>

我们只需要在控制台进入项目文件夹,输入以下代码:

mvn test

即可运行测试。

总结

Selenium-TestNG是一种用于Web应用程序自动化测试的测试框架,它结合了Selenium和TestNG的优点。使用Selenium-TestNG,我们可以方便地管理测试套件、测试用例之间的依赖关系和测试报告的生成等。在运行测试时,使用maven来运行测试是一个快捷的办法。