一、拉取镜像,启动selenium
更换国内镜像源:https://blog.csdn.net/anqixiang/article/details/96772479
镜像网盘下载:
链接: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
二、编写Python测试脚本
1.安装selenium插件
sudo pip3 install selenium
安装失败的解决方法:https://blog.csdn.net/anqixiang/article/details/104656754
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.查看测试结果
将图片传到Windows桌面,进行查看
三、通过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 "访问成功"