Selenium Docker的Grid方式进行自动化测试

问题

最新想通过界面批量输入数据到系统里面。

思路

使用自动化测试工具解决这个批量操作到问题。

Selenium

镜像

  • selenium/hub
  • selenium/node-chrome 他们两者之间的关系,就是hub是管理者,node-chrome是被管理者。hub管理这所有测试集群的容器进程。如下图:

关系图

这里我们只使用这个两个镜像进行使用,开始安装镜像,这里假设本地已经完成了docker的安装:

docker pull selenium/hub
docker pull selenium/node-chrome

访问Docker Hub访问,找到相关命令行进行安装。

Hub

docker run -d -p 4444:4444 --name selenium-hub selenium/hub

Node

docker run -d --link selenium-hub:hub selenium/node-chrome

检查

通过打开http://127.0.0.1:4444/grid/console链接界面来检查Hub和Node是否正常启动。

检查Node

上面表示Node,已经连接上了Hub。

Python测试


from selenium import webdriver
from time import sleep

driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'browserName': 'chrome'}
)

driver.get('https://www.baidu.com')
print("get baidu")

driver.find_element_by_id("kw").send_keys("docker selenium")
driver.find_element_by_id("su").click()

sleep(3)

driver.get_screenshot_as_file("baidu_img.png")

driver.quit()
print("end...")

这主要通过保存的baidu_img.png图片来查看自动化测试是否运行成功。

总结

SeleniumHQ支持的语言真的多。SeleniumHQ的的集群模式只能用node开头的镜像才能够使用。

参考

转载于:https://my.oschina.net/fxtxz2/blog/3051812

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值