秒速pk10诀窍 _Appium+python自动化(四十二)

  • 时间:
  • 浏览:1
  • 来源:北京新闻网_北京主流媒体_北京门户网站

1.简介

 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台。今天这篇分享讲解完。Appium自动化测试框架就要告一段落了。

2.执行测试用例&报告生成

 测试报告,宏哥肯能讲解了testng、HTMLTestRunner、allure等等,今天就在讲解另有5个新的测试报告BSTestRunner。一种生活有的小伙伴有问到,什么都在这里特地的给这帕累托图的小伙伴们演示一下。

2.1 下载BSTestRunner

直接输入网址,下载后,引入项目中即可。

BSTestRunner下载地址

关于这帕累托图不都可不里能 看宏哥的另有5个实例: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中所蕴含的目录没有 工程目录的根目录,没有 你在导入还要同另有5个目录下的你你这个工程中的包还要总出 import错误。

3.3.2.以上脚本编码格式还要为utf-8

4.自动化测试平台

前面亲戚亲戚你你这个人儿肯能开发完测试脚本,也使用bat批除理来封装了启动Appium服务和运行测试用例。后来还是处在问题自动化,比如我不都可不里能 每天下班时自动跑一下用例,肯能当研发打了新包后自动开始英语 了了运行测试脚本测试新包,没有 该如实现呢?

4.1持续集成(Continuous integration)

持续集成是一种生活软件开发实践,即团队开发成员一个劲集成亲戚亲戚你你这个人的工作,通过每个成员每天大慨集成一次,也就原因 每天肯能会处在多次集成,简称CI。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

4.2Jenkins简介

Jenkins是另有5个开源软件项目,是基于Java开发的一种生活持续集成工具,用于监控持续重复的工作,旨在提供另有5个开放易用的软件平台,使软件的持续集成变成肯能。

4.3下载与安装

下载地址:https://jenkins.io/download/

下载后安装下 指定的路径即可,默认启动页面为localhots:100100,肯能100100端口被占用无法打开,不都可不里能 进入到jenkins安装目录,找到jenkins.xml配置文件打开,修改如下代码的端口号即可。

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=100100 --webroot="%BASE%\war"</arguments>

4.4构建触发器

  1. 触发远程构建:肯能您想通过访问另有5个特殊的预定义URL来触发新构建,请启用此选项。
  2. Build after other projects are built:在你你这个项目触发的完后 触发,上端有分为一种生活具体情况,也而是我你你这个项目构建成功、失败、肯能不稳定的完后 触发项目;
  3. Build periodically 定时构建
  4. GitHub hook trigger for GITScm polling,根源Git的源码更新来触发构建
  5. Poll SCM:定时检查源码变更(根据SCM软件的版本号),肯能有更新就checkout最新code下来,后来执行构建动作。如下图配置:

      */5 * * * * (每5分钟检查一次源码变化)

4.5jenkins定时构建语法

这是实在而是我corn表达式,几分钟就不都可不里能 掌握,有兴趣的不都可不里能 百度一下,花费几分钟简单的学习一下。

* * * * *

(五颗星,上端用空格隔开)

  • 第另有5个*表示分钟,取值0~59
  • 第5个*表示小时,取值0~23
  • 第另有5个*表示另有5个月的第几天,取值1~31
  • 第5个*表示第几月,取值1~12
  • 第5个*表示一周中的第几天,取值0~7,其中0和7代表的还要周日

4.6使用案例

每天下午下班前18点定时构建一次

0 18 * * *

每天早上8点构建一次

0 8 * * *

100分钟构建一次:

H/100 * * * *

注意:关于jenkins的完整知识,不都可不里能 看宏哥的:jenkins系列文章。

5.小结

到此,Appium自动化测试框架就完整完成了,聪明的你都懂哪天???框架买车人搭建起来吗???嘿嘿!慢慢地来吧。

关注公众号发送:小白福音,不都可不里能 领取一套测试的小白入门教程视频