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是否安装成功

 
查看selenium是否安装成功
 
通过启动浏览器查看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自动化测测试框架的更多相关文章

  1. 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本

    某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...

  2. 自动化测试基础篇--Selenium Python环境搭建

    学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...

  3. 引用 自动化测试基础篇--Selenium Python环境搭建

    原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...

  4. Web应用渗透测试框架Arachni

    Web应用渗透测试框架Arachni   Arachni是一款Ruby语言编写的Web应用渗透测试框架.当用户指定目标后,该框架可以自动扫描网站页面,对页面中的链接.表单.Cookie.HTTP He ...

  5. windiows下搭建python+selenium+unittest+Chrome的Web自动化环境

    一.selenium.unittest概念 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 ...

  6. 某互联网后台自动化组合测试框架RobotFramework+Python+Sikuli

    一.RobotFramework 1.工具介绍: Robotframework在测试中作为组织测试用例和BDD关键字的平台,主要使用RIDE进行管理,它不是一个工具,而仅仅是一个框架,使用Python ...

  7. docker+headless+robotframework+jenkins实现web自动化持续集成

    在Docker环境使headless实现web自动化持续集成 一.制作镜像 原则:自动化测试基于基础制作镜像 命令:docker run --privileged --name=$1 --net=ho ...

  8. Java+Selenium 3.x 实现Web自动化 - 1.自动化准备

    (一)自动化准备 说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程.从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处.文章 ...

  9. 基于Python的接口自动化-unittest测试框架和ddt数据驱动

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...

随机推荐

  1. 洛谷 P2813 母舰

    题目描述 在小A的星际大战游戏中,一艘强力的母舰往往决定了一场战争的胜负.一艘母舰的攻击力是普通的MA(Mobile Armor)无法比较的. 对于一艘母舰而言,它是由若干个攻击系统和若干个防御系统组 ...

  2. hdu 3352 求边双联通分量模板题(容器)

    /*这道题是没有重边的,求加几条边构成双联通,求边联通分量,先求出桥然后缩点,成一个棵树 找叶子节点的个数*/ #include<stdio.h> #include<string.h ...

  3. CodeForces - 274A - k-Multiple Free Set

    先上题目 k-Multiple Free Set time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  4. [bzoj4659\2694]Lcm_数论_莫比乌斯反演

    Lcm bzoj-4659 bzoj-2694 题目大意:给出A,B,考虑所有满足l<=a<=A,l<=b<=B,且不存在n>1使得n^2同时整除a和b的有序数对(a,b ...

  5. pl/sql developer br 文件

    pl/sql developer br 文件 Version=1 RightMargin=72 Indent=2 UseTabCharacter=FALSE TabCharacterSize=2 Al ...

  6. GCD&amp;&amp;LCM的一些经典问题

    1.1~n的全部数的最小公倍数:lightoj 1289  传送门 分析:素因子分解可知这个数等于小于1~n的全部素数的最高次幂的乘积 预处理1~n的全部质数,空间较大,筛选的时候用位图来压缩.和1~ ...

  7. 【网络协议】ICMP协议、Ping、Traceroute

        ICMP协议 ICMP常常被觉得是IP层的一个组成部分,它是网络层的一个协议.它传递差错报文以及其它须要注意的信息.ICMP报文通常被IP层或更高层(TCP.UDP等)使用,它是在IP数据报内 ...

  8. I NEED A OFFER!(hdoj--1203--01背包)

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. redis集群部署及常用的操作命令_01

    简单说下自己测试搭建简单的redis集群的大体步骤: 1.首先你的有6个redis(官方说最少6个,3master,3slave),可以先在一台机器上搭建,搭建到多台上应该只需要改变启动命令即可(可能 ...

  10. MySQL实现表之间的字段更新

    新功能写好之后,需要把以前表数据更新一下,字段数据从以前的表中获取,只更新两个字段 UPDATE TABLE1,TABLE2 SET TABLE1.COLUMN1 = TABLE2.COLUMN1 , ...