Selenium+Python+jenkins搭建web自动化测测试框架
python-3.6.2
chrome 59.0.3071.115
chromedriver 2.9
安装python
https://www.python.org/downloads/ (Window平台安装包,包格式为:python-XYZ.msi文件)
1、安装python-3.6.2
2、配置环境变量path中添加D:\Python36-32
3、cmd命令校验python安装成功
selenium安装
1、cmd下pip3命令查看命令是否有效
2、执行pip3 install selenium,成功安装
3、检查selenium是否安装成功


使用chrome浏览器
1、下载chromedriver驱动 http://npm.taobao.org/mirrors/chromedriver
2、解压放到python安装根目录下面,与python.exe同级
安装pycharm(百度破解的方法)
创建第一个python工程,新建一个.py的文件,打开PC上的chrome浏览器

集成jenkins
遇到的问题:
使用excute python scripts插件的时候,命令脚本写的python D:\Python3.6.2\workspace\test\test.py 这是我的py脚本存放的路径
1、先是报错:Caused: java.io.IOException: Cannot run program "python" (in directory "C:\Program Files (x86)\Jenkins\workspace\web自动化测试"): CreateProcess error=2, 系统找不到指定的文件。
解决:将python的安装目录放在path环境变量中,重启电脑
2、后是报错:python D:\Python3.6.2\workspace\test\test.py SyntaxError: invalid syntax
解决:字面上的意思是语法错误,不合法的表达式,没去管了,换了一种执行python的方式,如下图,生效

3、然后报错:selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.1.7601 SP1 x86_64)
执行test.py文件的时候,启动chrome浏览器driver = webdriver.Chrome(),不用jenkins构建工程的时候,可以启动成功,用了jenkins提示找不到chrome的二进制文件,猜测可能是找不到chrome.exe的文件,百度加上如下代码,生效(chrome.exe一开始的安装路径有中文文件夹,遇到unicode error的问题,后来重新换了个安装路径解决)

4、再然后报错:ImportError: sys.meta_path is None, Python is likely shutting down
解决:因为我的test.py文件中没有写driver.quit()

问题:如上图jenkins执行成功,但是没有一个界面给我看看确实打开浏览器,并且执行了点击操作
解决:问题是因为jenkins开启一个job在后台运行,没有图形化的界面
step1:右键启动任务管理器---关闭进程--点击右下角服务进入服务弹窗---找到jenkins,属性启动类型改为禁用
step2:jenkins安装目录,jenkins.war统计目录下打开dos命令,执行java -jar jenkins.war
step3:localhost:8080 需要重新建一下job
问题:插件publish selenium html report的路径selenium tests results location配置
如下图,target要建立在jenkins运行的workspace下面C:\Users\zhangdi3\.jenkins\workspace\web自动化\target,并且要创建一个XX.html的文件,这个html的文件名要和C:\Users\zhangdi3\.jenkins\jobs\web自动化下面的config.xml的SELENIUM__REPORTS__TARGET名称一致,不然会遇到Missing selenium result files in directory target,Missing directory target/results.html等问题

转(https://www.jianshu.com/p/23280350120b)
Selenium+Python+jenkins搭建web自动化测测试框架的更多相关文章
- 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本
某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...
- 自动化测试基础篇--Selenium Python环境搭建
学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...
- 引用 自动化测试基础篇--Selenium Python环境搭建
原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...
- Web应用渗透测试框架Arachni
Web应用渗透测试框架Arachni Arachni是一款Ruby语言编写的Web应用渗透测试框架.当用户指定目标后,该框架可以自动扫描网站页面,对页面中的链接.表单.Cookie.HTTP He ...
- windiows下搭建python+selenium+unittest+Chrome的Web自动化环境
一.selenium.unittest概念 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 ...
- 某互联网后台自动化组合测试框架RobotFramework+Python+Sikuli
一.RobotFramework 1.工具介绍: Robotframework在测试中作为组织测试用例和BDD关键字的平台,主要使用RIDE进行管理,它不是一个工具,而仅仅是一个框架,使用Python ...
- docker+headless+robotframework+jenkins实现web自动化持续集成
在Docker环境使headless实现web自动化持续集成 一.制作镜像 原则:自动化测试基于基础制作镜像 命令:docker run --privileged --name=$1 --net=ho ...
- Java+Selenium 3.x 实现Web自动化 - 1.自动化准备
(一)自动化准备 说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程.从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处.文章 ...
- 基于Python的接口自动化-unittest测试框架和ddt数据驱动
引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...
随机推荐
- Spark MLlib LDA 基于GraphX实现原理及源代码分析
LDA背景 LDA(隐含狄利克雷分布)是一个主题聚类模型,是当前主题聚类领域最火.最有力的模型之中的一个,它能通过多轮迭代把特征向量集合按主题分类.眼下,广泛运用在文本主题聚类中. LDA的开源实现有 ...
- C语言遍历文件和文件夹——————【Badboy】
[cpp] #include #include #include #include #include #include #include #define MAX_PATH_LENGTH 512 #de ...
- 在Maven中设置Nexus私有服务为中央工厂
在Maven中设置Nexus私有服务为中央工厂(repository) 2015-12-12 17:45 168人阅读 评论(0) 收藏 举报 分类: Maven(17) 版权声明:本文为博主原创 ...
- xcode Could not launch "" ; has denied the launch request
xcode Could not launch "" ; “”“ has denied the launch request (注意,这种方式不能调试) 1.编辑scheme 2 ...
- Uva 11754(枚举+中国剩余定理)
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inclu ...
- 在Spring Boot中使用Spring-data-jpa实现分页查询
转自:https://www.cnblogs.com/sandea/p/8275890.html 在我们平时的工作中,查询列表在我们的系统中基本随处可见,那么我们如何使用jpa进行多条件查询以及查询列 ...
- UVA-12578 10:6:2 计算几何 模拟
题面 题意:给你一块长方形,告诉你长:宽=10:6 里面有一个圆,长:半径=5:1,给你长方形的长,求圆的面积和剩余部分的面积 题解:直接模拟输出就好 #include<bits/stdc++. ...
- HTML中href、src区别
href是Hypertext Reference的缩写,表示超文本引用.用来建立当前元素和文档之间的链接.常用的有:link.a.例如: <link href="reset.css&q ...
- php---依赖倒转(反转控制)原则
一.简介 依赖注入和控制反转说的实际上是同一个东西,它们是一种设计模式,这种设计模式用来减少程序间的耦合 优点:使用依赖注入,最重要的一点好处就是有效的分离了对象和它所需要的外部资源,使得它们松散耦合 ...
- VM-安装MAC系统
搜了下论坛没有这个教程,继续搬运一波,这次教的是用VM15安装Mac OS10.14懒人版VMware安装Windows和Linux比较类似,相对于今天要安装的MAC OS来说过程也比较简单.官方原版 ...