【Python】selenium多机运行配置

影响合理决策的两个最大的障碍是你的自动意识和思维盲点....

【资源连接地址】

 

1.selenium源码及各种资源(https://github.com/SeleniumHQ/selenium,wiki有各浏览器的driver)
2.selenium个版本文件的下载(http://selenium-release.storage.googleapis.com/index.html)
3.selenium的什么鬼学习地址(http://seleniummaster.com/sitecontent/index.php)
4.selenium的开发文档(https://seleniumhq.github.io/selenium/docs/api/py/index.html#)
5.selenium的说明文档(https://docs.seleniumhq.org/docs/)
最新版的selenium Grid允许同时并行的,在不同的环境运行多个测试任务。

 

【环境准备】

1.需要两台PC机,两台机器必须安装好jdk的环境变量(我的一个win10,一个win8)
2.需要一个selenium-server-standalone-3.11.0.jar包。
3.安装了python2.7(64位),selenium3.5(这两个版本不是很重要,都可以)

 

【配置开始】

1.集线器主服务(A ip:192.168.1.108)
Selenium Grid需要一台机子作为集线器,即启动主服务器,找到jar包所在的目录,按住shift键然后点击右键,选择‘在此处打开窗口’打开命令窗口,通过这个命令启动主服务,即hub服务:

 

java -jar selenium-server-standalone-3.11.0.jar  -role  hub

命令执行完后输出,有一个注册中心地址:http://192.168.1.108:4444/grid/register/:

如果不设置端口号,默认的端口号是4444,如果要改这个端口,可以再上面的命令后面加上 -port XXXX。启动完后,你可以用浏览器打开 http://localhost:4444/grid/console 这个网址查看主节点的状态。

2.节点服务(B ip:192.168.1.110
启动完主服务hub之后,接下来做的是启动子节点,以另一台机器作为子节点的机器:

java -jar selenium-server-standalone-3.11.0.jar -role node -hub  http://192.168.1.108:4444/grid/register/

服务启动后输出:

启动完成连接到主节点后,可以在主节A机子上 ,http://localhost:4444/grid/console网址查看到这个子节点状态。使用同样的方法,可以链接其它的子节点B、C…

 

【代码测试】

在主机A上运行测试的代码,会把命令发送给B:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
d=DesiredCapabilities.CHROME.copy()
d['browserName']='chrome'
d['version']='65'
desired_cap={'browserName':'chrome',
'version':'65',
'javascriptEnabled':True}
driver=webdriver.Remote(command_executor='http://192.168.1.110:5555/wd/hub',desired_capabilities=d)
driver.get("http://192.168.1.108:8080/lab/stusign")
printdriver.title
driver.quit()

总结:

 

1.整体来说这个多机并行的环境搭建还是很容易的,参考官方文档就可以很轻松的搞定。
2.问题在于我们实际的工作工程中如何使用良好的策略来规则化我们的多机并行执行呢?还有就是执行的内容是用例脚本,而这些脚本是以何种规则分配到对应的机器上呢?这种问题,只能说具体情况具体分析。
3.就是我们在启动节点时,启动命令华友一些附加的参数如:-D、-config、-browser等等,你可以用java -jar selenium-server-standalone-3.11.0.jar -h去看具体的解释。
示例(好好研究下参数的意义):

 

java -jar selenium-server-standalone-3.11.0.jar -role node -hub http://192.168.1.108:4444/grid/register/
 -browser “browserName=chrome,maxinstance=1,platform=WINDOWS” -Dwebdriver.chrome.driver=D://chromedriver.exe
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值