大发3分彩规则_Appium+python自动化(四十二)
- 时间:
- 浏览:0
1.简介
按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台。今天这篇分享讲解完。Appium自动化测试框架就要告一段落了。
2.执行测试用例&报告生成
测试报告,宏哥可能讲解了testng、HTMLTestRunner、allure等等,今天就在讲解有4个新的测试报告BSTestRunner。你这一有的小伙伴有问到,什么都在这里特地的给这次责的小伙伴们演示一下。
2.1 下载BSTestRunner
直接输入网址,下载后,引入项目中即可。
BSTestRunner下载地址
关于这次责可这麼看宏哥的有4个实例:demo
2.2 run.py
执行所有测试用例。你这一是所有框架的入口。
2.3参考代码
# coding=utf-8 # 1.先设置编码,utf-8可支持中英文,如上,一般倒进第一行 # 2.注释:包括记录创建时间,创建人,项目名称。 ''' Created on 2019-11-21 @author: 北京-宏哥 QQ交流群:707699217 Project:Appium自动化测试框架综合实践 - 寿终正寝完结篇 ''' # 3.导入模块 import unittest from BSTestRunner import BSTestRunner import time,logging import sys path='D:\\kyb_testProject\\' sys.path.append(path) test_dir='../test_case' report_dir='../reports' discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_login.py') now=time.strftime('%Y-%m-%d %H_%M_%S') report_name=report_dir+'/'+now+' test_report.html' with open(report_name,'wb') as f: runner=BSTestRunner(stream=f,title='Kyb Test Report',description='kyb Android app test report') logging.info('start run test case...') runner.run(discover)
注意:
pattern参数可这麼控制运行不同模块的用例,如下所示表示运行指定路径以test开头的模块
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
3.Bat批出理 执行测试
前面脚本开发阶段你们 都不 使用pycharm IDE工具来运行脚本,后要 你们 的脚本开发完成后,还每次打开IDE来执行自动化测试就不合理了,可能不仅每次打开比较麻烦,后要 pycharm内存资源占用比较“感人”!以前非常影响执行强度。 针对你这一请况,你们 可这麼使用cmd命令可能封装为bat批出理 脚以前运行。
3.1启动appium服务
启动appium服务通过批量出理 脚本。
3.1.1start_appium.bat
3.1.2参考代码
@echo off 为关闭“回显”,让命令行界面显得整洁有些。
3.2执行测试用例
执行测试用例假使 说到底假使 通过批量脚本执行框架入口文件run.py。
3.2.1run.bat
3.2.2参考代码
@echo off
d:
cd D:\kyb_testProject\test_run
C:\Python35\python.exe run.py
pause
3.3注意事项:
3.3.1执行以前不能在run.py脚本添加如下内容:
import sys
path='D:\\kyb_testProject\\'
sys.path.append(path)
项目在IDE(Pycharm)中运行和你们 在cmd中运行的路径是不一样的,在pycharm中运行时, 会默认pycharm的目录+你们 的工程所在目录为运行目录。
而在cmd中运行时,会以你们 的工程目录所在目录来运行。在import包都不 首先从pythonPATH的环境变量中来查看包,可能有你的PYTHONPATH中所含晒 的目录这麼工程目录的根目录,这麼你在导入都不 同有4个目录下的有些工程中的包都不 出先import错误。
3.3.2.以上脚本编码格式不能为utf-8
4.自动化测试平台
前面你们 可能开发完测试脚本,也使用bat批出理 来封装了启动Appium服务和运行测试用例。后要 还是欠缺自动化,比如帮我每天下班时自动跑一下用例,可能当研发打了新包后自动现在现在开始运行测试脚本测试新包,这麼该如实现呢?
4.1持续集成(Continuous integration)
持续集成是并否是 软件开发实践,即团队开发成员时不时集成你们 的工作,通过每个成员每天相当于集成一次,也就因为每天可能会趋于稳定多次集成,简称CI。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
4.2Jenkins简介
Jenkins是有4个开源软件项目,是基于Java开发的并否是 持续集成工具,用于监控持续重复的工作,旨在提供有4个开放易用的软件平台,使软件的持续集成变成可能。
4.3下载与安装
下载地址:https://jenkins.io/download/
下载后安里装 去指定的路径即可,默认启动页面为localhots:10001000,可能10001000端口被占用无法打开,可这麼进入到jenkins安装目录,找到jenkins.xml配置文件打开,修改如下代码的端口号即可。
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=10001000 --webroot="%BASE%\war"</arguments>
4.4构建触发器
- 触发远程构建:可能您想通过访问有4个特殊的预定义URL来触发新构建,请启用此选项。
- Build after other projects are built:在有些项目触发的以前触发,底下有分为并否是 请况,也假使 有些项目构建成功、失败、可能不稳定的以前触发项目;
- Build periodically 定时构建
- GitHub hook trigger for GITScm polling,根源Git的源码更新来触发构建
- Poll SCM:定时检查源码变更(根据SCM软件的版本号),可能有更新就checkout最新code下来,后要 执行构建动作。如下图配置:
*/5 * * * * (每5分钟检查一次源码变化)
4.5jenkins定时构建语法
这是随便说说假使 corn表达式,几分钟就可这麼掌握,有兴趣的可这麼百度一下,花费几分钟简单的学习一下。
* * * * *
(五颗星,底下用空格隔开)
- 第有4个*表示分钟,取值0~59
- 第六个*表示小时,取值0~23
- 第有4个*表示有4个月的第几天,取值1~31
- 第六个*表示第几月,取值1~12
- 第六个*表示一周中的第几天,取值0~7,其中0和7代表的都不 周日
4.6使用案例
每天下午下班前18点定时构建一次
0 18 * * *
每天早上8点构建一次
0 8 * * *
每1000分钟构建一次:
H/1000 * * * *
注意:关于jenkins的完全知识,可这麼看宏哥的:jenkins系列文章。
5.小结
到此,Appium自动化测试框架就完全完成了,聪明的你都懂何时能 能 ???框架我本人搭建起来吗???嘿嘿!慢慢地来吧。