自动化测试的运行方式:
1,打开pycharm
2,找到项目 run.py并且运行
问题:
1,代码在远程仓库中(不在自己手里)
2,项目不一定在个人电脑上运行自动化,通常是在一个服务器(Linux),不一定有pycharm,pycharm只是本地编写代码的工具
3,一般通过命令行运行,运行之前 需要通过pip install -r requiements.txt安装所有第三方库
在服务器运行自动化测试代码方式:
1,准备好代码,复制到服务器
2,安装python,python第三方库(requirements.txt)
3,通过python run.py 运行
jenkins持续集成
持续集成:频繁地(一天多次)将代码集成到主干
主干指的是产品发布前的最终形态,包含和很多的分支,包括设计,开发,测试等,这些工作分给不同的部门不同的人,在产品上线之前,需要把分支全部整合到主干,就是集成
对于测试而言,需要频繁的运行自动化测试代码.包括定时运行,根据开发提交的代码运行等等策略
持续集成让产品能够快速迭代,同时保持高质量.核心措施是,代码集成到主干之前,必须通过自动化测试,只要有一个测试用例失败,就不能集成
jenkins是一个持续集成的工具.各个分支部分把他们的代码放到jenkins上进行集中管理
没有jenkins时 测试会先问开发,代码更新了吗?可以访问之前的接口吗?如果开发已经更新完,测试就可以运行自动化测试代码了.如果没有完成更新,只能过段时间再去问
有了jenkins之后,当开发往远程仓库(GitHub)提交代码以后,会自动触发jenkins上的开发代码的提交钩子,开发代码自动完成构建
开发代码一旦完成构建,又会触发测试代码的自动构建,不需要人工参与
简单来说就是开发提交代码后,就会自动触发测试代码进行自动化测试
Jenkins的安装
1,通过tomcat安装
-把jenkins的war包放入tomcat的webapps文件夹
在bin文件夹运行startup.bat开启服务
之后就能通过浏览器访问jenkins地址了
2,以java命令启动
找到war包的位置,执行命令
一般公司会被运维部署在服务器中,不用自己安装
新建项目
点击新建item
选择freestyle project
创建之后返回面板会看到已经创建了一个任务
点击build now 执行任务因为没有上传任何代码,所以默认成功
创建项目之后,会在jenkins工作目录当中生成一个同名文件夹
里面放的是自动化测试的代码
配置
源码管理,需要安装git,url地址时远程仓库的地址(.git结尾)
填入远程仓库的用户名和密码
选择需要从远程仓库中拉取代码的分支,默认为master
构建触发器(策略)
每次运行都要点击build now,但是还能够自动触发,比如开发提交代码之后,自动触发测试代码运行
比如:
有一个开发项目的代码
我们自己的测试项目的代码
点击测试项目的配置,找到构建触发器
表示当关注的项目提交更新之后,就会自动build now测试代码
定时构建
不追踪任何项目,但是可以定时build now
典型的语法:
1,每隔1分钟执行一次
* * * * *
2,如果第一个*改为17,就表示每隔17分钟执行一次
17 * * * *
3,上午8-11点的第3和第15分钟执行
3,15 8-11 * * *
4,每隔两天的上午8-11点的第3和第15分钟执行
3,15 8-11 /2 * *
5,每天晚上11点运行
H 23 * * * *
构建环境
选择这个,表示生成时间戳
构建
选择windows,表示在windows环境下的命令
命令输入 安装环境需要的模块命令,还有运行测试用例代码的文件
运行命令需要输入路径,但是在jenkins上运行,默认会在工作目录上找,如果环境已经有相关模块,那么就不会运行该行命令
Build now运行代码
从控制台输出查看结果
具体执行信息
配置测试报告
-安装插件
-构建后的操作设置
Html报告样式
需要修改配置
执行脚本
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
发送邮件
-安装插件
-在jenkins中设置email相关信息
配置管理员邮箱
配置邮件服务器
点击高级配置
输入SMTP邮箱地址和密码
密码不是邮箱的密码 是要通过邮箱开启授权的密码
构建后置操作
设置triggers
可以设置项目运行成功,运行失败,或者无论怎样都发送邮件