Selenium Java Testng 多浏览器测试3

一、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,实际测试时一般会测试不同内核的浏览器,以测试观察目标项目的兼容性。

有了计划记得推动,不要原地踏步。
原文地址:https://www.cnblogs.com/amnotgcs/p/13775292.html