一、eclipse 中配置testng
1.1 安装Testng
Help >> Install New Software >>
点击Add然后随便输入一个名字,地址输入:https://dl.bintray.com/testng-team/testng-eclipse-release/
确认之后会进行检索,如下图:
下一步并同意协议即可进行安装。
二、编写程序测试
2.1 单浏览器测试
编写如下代码:
点击 Run As 会出现Testng的选项,如果你的没有,可能是你的Testng没有安装或没有安装成功。
当你在src/main/java编写测试代码的时候,可能会出现无法引用Testng的情况,这可能是因为你在pom.xml文件中进行了限制。
完整pomx.xml代码如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.amnotgcs</groupId>
<artifactId>amnotgcs</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<!-- <scope>test</scope> -->
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
</project>
更多关于maven配置的信息,可参考Testng官网或者mavenrepository.com自行搜索添加
2.2 测试结果:
测试结果如下图:
2.3 多浏览器测试
编写测试主类:
package cn.amnotgcs;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
public class toEdge {
WebDriver driver;
String baseUrl;
@Parameters("browser")
@BeforeClass
public void beforeTest(String Browser) {
if(Browser.equalsIgnoreCase("edge")) {
driver = new EdgeDriver();
} else if(Browser.equalsIgnoreCase("chrome")) {
driver = new ChromeDriver();
}
}
@BeforeMethod
public void setUp() throws Exception {
baseUrl = "http://www.sogou.com";
}
@Test
public void visitSogou() {
driver.get(baseUrl);
driver.findElement(By.id("query")).sendKeys("这里输入测试关键字");
driver.findElement(By.id("stb")).click();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@AfterMethod
public void tearDown() throws Exception {
driver.quit();
}
}
编写测试testng.xml
:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests" thread-count="2">
<test name="EdgeTest">
<parameter name="browser" value="edge" />
<classes>
<class name="cn.amnotgcs.toEdge" />
</classes>
</test>
<test name="ChromeTest">
<parameter name="browser" value="chrome" />
<classes>
<class name="cn.amnotgcs.toEdge" />
</classes>
</test>
</suite>
在testng.xml
上右键,作为Testng
程序运行。
测试结果:
控制台输出:
两个窗口是同时出现的,也就是并发测试。
这里使用的是Chrome&Edge,实际测试时一般会测试不同内核的浏览器,以测试观察目标项目的兼容性。