selenium grid使用(windows+centos7.4)

时间:2022-01-24 21:42:45

windows作为hub,centos7.4作为node。 firefox用的centos7自带的52版本,懒得更新。

vm虚拟机必须设置成bridge模式上网,否则报错。具体参见博文:Vmware改成bridge方式联网

两个机器都要装JDK1.8,下载selenium-server-standalone-3.4.0.jar,firefox驱动geckodriver0.16版本解压到/usr/bin。

1、windows需关闭防火墙!!!进到elenium-server-standalone-3.4.0.jar所在目录下,执行以下语句。

selenium grid使用(windows+centos7.4)

2、linux下需卸载virbr0网卡,virbr0是由libvirtd服务创建,libvirtd在guest里没啥卵用,所以干掉它。

1)停止virbr0:

ifconfig virbr0 down

2)删除virbr0:

brctl delbr virbr0

3)禁用libvirtd:

systemctl disable libvirtd

selenium grid使用(windows+centos7.4)

进到elenium-server-standalone-3.4.0.jar所在目录下,执行以下语句,-port自行设置, -hub需填windows的hub注册地址。

selenium grid使用(windows+centos7.4)

浏览器打开网址,验证node节点是否注册成功。

selenium grid使用(windows+centos7.4)

3、编写分布式执行的测试脚本。终于成功调用linux的firefox进行自动化测试,不得不多坑真的多。。。

#encoding = utf-8

from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport time

driver = webdriver.Remote(    command_executor='http://192.168.1.111:6655/wd/hub',    desired_capabilities={        "browserName":"firefox"    })

try:    driver.implicitly_wait(30)    driver.maximize_window()    driver.get("http://www.sogou.com")    assert "搜狗" in driver.title    elem = driver.find_element_by_id("query")    elem.send_keys("webdriver实战宝典")    elem.send_keys(Keys.RETURN)    time.sleep(3)    assert "吴晓华" in driver.page_sourcefinally:    driver.quit()