0
点赞
收藏
分享

微信扫一扫

Docker+Selenium+Jenkins 实现web自动化测试

一、拉取镜像,启动selenium

镜像网盘下载:
链接:https://pan.baidu.com/s/17oRi_YQ3NGDzv1tlwc6QCw
提取码:o7dg

sudo docker pull selenium/hub
sudo docker pull selenium/node-chrome
sudo docker run -d -p 4444:4444 --name selehub selenium/hub
sudo docker run -d -p 5901:5555 --name node --link selehub:hub selenium/node-chrome

​WEB验证​

访问:http://172.16.38.238:4444/grid/console
Docker+Selenium+Jenkins 实现web自动化测试_docker

二、编写Python测试脚本

​1.安装selenium插件​

sudo pip3 install selenium

​2. sele.py代码​

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from selenium import webdriver

selenium_url = "http://172.16.38.238:4444/wd/hub" #selenium的访问地址
access_url = "http://www.baidu.com" #测试地址

chrome_capabilities ={
"browserName": "chrome",
"version": "",
"platform": "ANY",
"javascriptEnabled": True,
"marionette": True,
}
browser = webdriver.Remote(selenium_url, desired_capabilities=chrome_capabilities)
browser.get(access_url)
browser.get_screenshot_as_file("./selenium/baidu.png") #把访问结果截图保存到当前路径的selenium/baidu.png
browser.quit()

​3.执行脚本​

chmod +x sele.py
./sele.py

​4.查看测试结果​

Docker+Selenium+Jenkins 实现web自动化测试_chrome_02
将图片传到Windows桌面,进行查看
Docker+Selenium+Jenkins 实现web自动化测试_chrome_03
Docker+Selenium+Jenkins 实现web自动化测试_linux_04

三、通过Jenkins实现自动测试,并返回结果

​1.Python测试脚本sele.py有些许变化,根据返回的base64码来判断是否访问成功​

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from selenium import webdriver

selenium_url = "http://172.16.38.238:4444/wd/hub" #selenium的访问地址
access_url = "http://172.16.38.238:8000" #测试地址

chrome_capabilities ={
"browserName": "chrome",
"version": "",
"platform": "ANY",
"javascriptEnabled": True,
}

browser = webdriver.Remote(selenium_url, desired_capabilities=chrome_capabilities)
browser.get(access_url)
result = str(browser.get_screenshot_as_base64())
if result[-1] != "=": #如果访问成功最后一位的值是"="号
print("访问失败")
browser.quit()
exit(1)
print("访问成功")
browser.quit()
exit(0)

​2.Jenkins中添加代码​

根据selenium所在机器来进行配置,我是配置到远程主机上,也可以部署在Jenkins上

#selenium测试
cd /home/admin && ./sele.py
[ $? -ne 0 ] && echo "访问失败" && exit 1
echo "访问成功"

Docker+Selenium+Jenkins 实现web自动化测试_python_05


举报

相关推荐

0 条评论