【Python】selenium多机运行配置
程序员文章站
2024-03-15 17:59:06
...
影响合理决策的两个最大的障碍是你的自动意识和思维盲点....
【资源连接地址】
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
上一篇: Docker Hub使用
下一篇: 文科生的Python自学之路
推荐阅读
-
【Python】selenium多机运行配置
-
Anaconda多环境多版本python配置操作方法
-
无线上网时VirtualBox运行Redhat的网络配置 博客分类: Linux虚拟机Redhat redhat虚拟机linux
-
多版本Python共存的配置方法
-
多版本Python共存的配置方法
-
Anaconda多环境多版本python配置操作方法
-
python抓取京东小米8手机配置信息
-
python+selenium小米商城红米K40手机自动抢购的示例代码
-
Windows 配置Apache以便在浏览器中运行Python script的CGI模式
-
通过mod_python配置运行在Apache上的Django框架