基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - grid [跨浏览器远程测试-可分布式]

基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍

基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作

基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 元素定位

基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 -常见的页面元素操作

基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - iframe元素定位

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 元素定位场景分析

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 获取测试对象属性

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 获取测试对象状态

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 第三方控件类操作

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 执行JS操作

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - WebDriver的三种等待方式

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 模拟键盘操作

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 代码检查点[验证点/断言]与图像检查点

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 验证码处理

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - cookie操作

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - exe文件执行

基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - grid [跨浏览器远程测试-可分布式]

基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - 框架设计小结

基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - testng使用

基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - 关于如何手动下载JAR包

持续更新中

远程代码执行(grid)

该章节完全可以忽略,仅作了解。

关于grid的介绍可参考下文链接了解

【软件测试】Selenium Grid2之跨浏览器远程测试(一)

Selenium Grid2分布式执行测试脚本

grid框架 - - - 不太想把这篇放出来,毕竟现在使用 grid 远程执行代码的已经不多了,但最终还是决定放出来不删掉。

从最新查阅到的资料,grid 已经集成到了最新的Selenium Server中,不再提供单独的下载包...

Grid允许测试人员在多台机器的多个浏览器上并行的进行测试,也就是说,可以同时运行多个测试脚本(可以是不同的浏览器)。本质上来说就是,Selenium-Grid 支持分布式的测试执行。它可以让你的测试在一个分布式的执行环境中运行。

在多个浏览器中运行测试,在多个版本的浏览器中进行测试,或在不同操作系统的浏览器中进行测试。

利用 Selenium Grid 可以在不同的主机上建立主节点(hub)和分支节点(node)。可以使主节点上的测试用例在不同的分支节点上运行。对于不同的节点来说,可以搭建不同的测试环境(操作系统、浏览器),从而使一份测试用例得到不同环境下的执行结果。

Grid 2 不再提供单独的包,其功能已经集成到 Selenium Server 当中,所以,需要下载与运行 SeleniumServer 才可以使用 Grid2 的功能。

1.启动主节点

需下载单独的 grid 包

cmd

E:

cd selenium-java-3.10.0
//注意:这里是因为我的“selenium-server-standalone-3.10.0.jar”
放在了该路径下所以需要进入该路径启动该JAR包

E:\selenium-java-3.10.0>
输入 java -jar selenium-server-standalone-3.10.0.jar

以上命令为dos窗口启动grid的jar包操作

出现如下图所示信息,表示主节点已经启动 【4444】端口


在这里插入图片描述


通过浏览器访问主节点


在这里插入图片描述


2. 注册子节点

子节点可以写成一个bat来执行

基于Chrome

子节点是分浏览器的,这里我们先注册chrome子节点

cmd		[需另外再打开一个cmd窗口]

E:

cd selenium-java-3.10.0
//注意:这里是因为我的“selenium-server-standalone-3.10.0.jar”
放在了该路径下所以需要进入该路径启动该JAR包

E:\selenium-java-3.10.0>

输入 java -jar selenium-server-standalone-3.10.0.jar -Dwebdriver.chrome.driver="D:/Program Files/Java/jdk1.8.0_141/bin/chromedriver.exe" -role webdriver -hub http://localhost:4444 -port 5555 -browser browserName=chrome

当出现“Adding browserName=chrome” 表示子节点添加成功


在这里插入图片描述


基于Firefox

输入:
java -jar selenium-server-standalone-3.10.0.jar -Dwebdriver.firefox.bin="D:/Program Files/Java/jdk1.8.0_141/bin/chromedriver.exe" -role webdriver -hub http://localhost:4444 -port 6666 -browser browserName=firefox

这里的“-Dwebdriver.firefox.bin=“D:/Program Files/Java/jdk1.8.0_141/bin/chromedriver.exe””
可以省掉.

基于IE

输入:
 java -jar selenium-server-standalone-3.10.0.jar -Dwebdriver.ie.driver="D:/Program Files/Java/jdk1.8.0_141/bin/IEDriverServer.exe" -role webdriver -hub http://localhost:4444 -port 7777 -browser browserName=”internet explorer“

3.调用grid

	public void test() throws InterruptedException{
    
    
		
		//grid
		DesiredCapabilities test = DesiredCapabilities.chrome();
		//DesiredCapabilities test = DesiredCapabilities.firefox();
		
		String nudeurl = "http://192.168.1.104:5555/wd/hub";
		//String nudeurl = "http://192.168.1.104:6666/wd/hub";
		URL url = null;
		try {
    
    
			url = new URL(nudeurl);
		} catch (MalformedURLException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		WebDriver Demo25_grid = new RemoteWebDriver(url,test);
		Demo25_grid.get("https://baidu.com");

		
		//退出WebDriver
		Thread.sleep(2000);
		Demo25_grid.quit();	

Guess you like

Origin blog.csdn.net/weixin_42250835/article/details/120983598