Web自动化_分布式测试Grid入门
要在多台计算机上并⾏运⾏测试吗? 那么, Grid正是为你准备的。
分布式测试Grid环境:
1.需要JDK支持,最新的版本需要11版本,老版本的1.8也可以
selenium server jar包下载地址:
https://github.com/SeleniumHQ/selenium/releases/tag/selenium-4.5.0
单机模式:-单服务执行
启动命令:java -jar 包名<一定要用tab自动补全> standalone
1、启动服务
selenium server jar包下载地址:
https://github.com/SeleniumHQ/selenium/releases/tag/selenium-4.5.0
单机模式:-单服务执行
启动命令:java -jar 包名<一定要用tab自动补全> standalone
1、启动服务
在JAR包所在目录打开CMD,输入java -jar 包名<一定要用tab自动补全> standalone,
如:>java -jar selenium-server-4.5.0.jar standalone 启动监听服务
浏览器打开127.0.0.1:4444 进入UI界面查看
2、创建conftest文件,定义driver
# 浏览器驱动 import logging import allure import pytest from selenium import webdriver from selenium.webdriver.chrome.options import Options # 导入谷歌选项包 @pytest.fixture() def browser(): # 01 用例前置操作 global driver # # selenium提供的浏览器的无头模式(在后台运行的), --headless # chrome_options = Options() # chrome_options.add_argument('--headless') # driver = webdriver.Chrome(options=chrome_options) chrome_options = webdriver.ChromeOptions() driver = webdriver.Remote( # 单机形式(hub)的指向 command_executor='http://127.0.0.1:4444', # 命令执行器 options=chrome_options ) # 02 用例执行,返回driver yield driver # 03 用例后置,关闭浏览器 driver.quit()
3、创建测试用例文件
4、创建main文件并执行
5、查看UI页面,执行中
6、执行完毕
启动监听的主服务:--单机多服务运行
启动命令:java -jar 包名<一定要用tab自动补全> hub
只是起了一个服务
1、启动服务
在JAR包所在目录打开CMD,输入java -jar 包名<一定要用tab自动补全> hub,启动监听服务
浏览器打开127.0.0.1:4444 进入UI界面查看(和上面一样)
2、在JAR包所在目录重新打开一个CMD,输入java -jar 包名<一定要用tab自动补全> node,启动节点服务
3、本机添加服务:
本机:java -jar 包名<一定要用tab自动补全> node -port 端口号
在JAR包所在目录重新打开一个CMD,输入java -jar 包名<一定要用tab自动补全> node --port 端口号,再启动启动节点服务
比如:java -jar selenium-server-4.5.0.jar node --port 6666
4、创建执行文件
再原来的基础上,复制 一个相同的执行文件,然后先后一起执行
5、然后先后一起执行main文件,查看UI视图
同时也可以不同的执行文件 运行不同的版本、之类的用例,把用例分为不同版本
7、运行 不同版本,查看UI视图
其他设备添加到监听服务中:
命令:java -jar 包名<一定要用tab自动补全> node --hub tcp://监听服务器的iP:4444 --port 端口号
例如其他设备:java -jar selenium-server-4.5.0.jar node --hub http:192.168.1.101:4444 --port 7777(也可以不指定,自动分配)
grid的作用:
1.可以把这些服务(测试套件)分布到不同的设备进行运行(有点随机制的,看你的设备的规格)
1.可以把这些服务(测试套件)分布到不同的设备进行运行(有点随机制的,看你的设备的规格)
在linux上,JDK、python、google驱动、Selenium server.jar 都要配置好