按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台。今天这篇分享讲解完。Appium自动化测试框架就要告一段落了。
测试报告,宏哥已经讲解了testng、HTMLTestRunner、allure等等,今天就在讲解一个新的测试报告BSTestRunner。这个有的小伙伴有问到,所以在这里特地的给这部分的小伙伴们演示一下。
直接输入网址,下载后,引入项目中即可。
关于这部分可以看宏哥的一个实例:demo
执行所有测试用例。这个是所有框架的入口。
# 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')
前面脚本开发阶段我们都是使用pycharm IDE工具来运行脚本,但是当我们的脚本开发完成后,还每次打开IDE来执行自动化测试就不合理了,因为不仅每次打开比较麻烦,而且pycharm内存资源占用比较“感人”!这样非常影响执行效率。 针对这种情况,我们可以使用cmd命令或者封装为bat批处理脚本来运行。
启动appium服务通过批量处理脚本。
@echo off
appium
pause
@echo off 为关闭“回显”,让命令行界面显得整洁一些。
执行测试用例就是说到底就是通过批量脚本执行框架入口文件run.py。
@echo off
d:
cd D:\kyb_testProject\test_run
C:\Python35\python.exe run.py
pause
import sys
path='D:\\kyb_testProject\\'
sys.path.append(path)
项目在IDE(Pycharm)中运行和我们在cmd中运行的路径是不一样的,在pycharm中运行时, 会默认pycharm的目录+我们的工程所在目录为运行目录。
而在cmd中运行时,会以我们的工程目录所在目录来运行。在import包时会首先从pythonPATH的环境变量中来查看包,如果没有你的PYTHONPATH中所包含的目录没有工程目录的根目录,那么你在导入不是同一个目录下的其他工程中的包时会出现import错误。
前面我们已经开发完测试脚本,也使用bat批处理来封装了启动Appium服务和运行测试用例。但是还是不够自动化,比如我想每天下班时自动跑一下用例,或者当研发打了新包后自动开始运行测试脚本测试新包,那么该如实现呢?
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成,简称CI。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
下载地址:https://jenkins.io/download/
下载后安装到指定的路径即可,默认启动页面为localhots:8080,如果8080端口被占用无法打开,可以进入到jenkins安装目录,找到jenkins.xml配置文件打开,修改如下代码的端口号即可。
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
*/5 * * * * (每5分钟检查一次源码变化)
这是其实就是corn表达式,几分钟就可以掌握,有兴趣的可以百度一下,花费几分钟简单的学习一下。
* * * * *
(五颗星,中间用空格隔开)
每天下午下班前18点定时构建一次
0 18 * * *
每天早上8点构建一次
0 8 * * *
每30分钟构建一次:
H/30 * * * *
到此,Appium自动化测试框架就全部完成了,聪明的你都懂了吗???框架自己搭建起来吗???嘿嘿!慢慢地来吧。