测试报告生成
import unittest
from BSTestRunner
import BSTestRunner
import time
import logging
#指定测试用例和测试报告的路径
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 Andriod app Test Report")
logging.info("start run testcase...")
runner.run(discover)
注意:
pattern参数可以控制运行不同模块的用例,如下所示表示运行指定路径以test开头的模块
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
Bat批处理执行测试
前面脚本开发阶段我们都是使用pycharm IDE工具来运行脚本,但是当我们的脚本开发完成后,还每次打开IDE来执行自动化测试就不合理了,因为不仅每次打开比较麻烦,而且pycharm内存资源占用比较“感人”!这样非常影响执行效率。 针对这种情况,我们可以使用cmd命令或者封装为bat批处理脚本来运行。
启动appium服务
@echo off
appium
pause
@echo off 为关闭“回显”,让命令行界面显得整洁一些。
执行测试用例
@echo off
d:
cd D:\kyb_testProject\test_run
C:\Python35\python.exe run.py
pause
注意事项:
1.执行之前需要在run.py脚本添加如下内容:
import sys
path='D:\\kyb_testProject\\'
sys.path.append(path)
项目在IDE(Pycharm)中运行和我们在cmd中运行的路径是不一样的,在pycharm中运行时, 会默认pycharm的目录+我们的工程所在目录为运行目录。
而在cmd中运行时,会以我们的工程目录所在目录来运行。在import包时会首先从pythonPATH的环境变量中来查看包,如果没有你的PYTHONPATH中所包含的目录没有工程目录的根目录,那么你在导入不是同一个目录下的其他工程中的包时会出现import错误。
2.以上脚本编码格式必须为utf-8