appium移动自动化测试框架搭建实战,附源码(三)
这里主要分享一下,如何让脚本运行起来,开始的时候,就是写了一个pytest.ini,然后在控制台输入pytest,就会直接跑脚本,后来又改了一下,直接写了一个bat文件,来运行脚本,下面主要说明一下bat文件怎么运行脚本。
首先有一个run.py文件,就是确定需要测试哪些case,以及生成报告的路径:
# encoding=utf-8
import os
import pytest
from util.log import MyLog
from util.read_config import ReadConfig
class RunAll:
def __init__(self):
self.rc = ReadConfig()
self.pro_dir = self.rc.project_dir
self.log = MyLog.get_log()
self.logger = self.log.get_logger()
self.report_xml_path = os.path.join(self.log.log_path, ‘report\\xml‘)
self.case_list_file = os.path.join(self.pro_dir, "caselist.txt")
self.case_list = []
def set_case_list(self):
"""将caselist.txt中的case名存到一个list,不包含以#开头的"""
try:
fb = open(self.case_list_file)
except Exception as e:
self.logger.error(str(e))
else:
for value in fb.readlines():
data = str(value) + ‘.py‘
if data != ‘‘ and not data.startswith("#"):
data = ‘./scripts/‘ + data
self.case_list.append(data.replace(‘\n‘, ‘‘))
fb.close()
# return self.case_list
def run(self):
logger = self.logger
rerun = self.rc.get_test("reruns")
try:
self.set_case_list()
print(self.case_list)
if self.case_list is not None:
# logger.info("************start appium server**************")
# try:
# os.system("start startAppiumServer.bat")
# except Exception:
# logger.error("启动appium服务失败")
# time.sleep(15)
logger.info("************test start**************")
pytest_list = [‘-s‘, ‘-q‘]
xml_dir = ‘--alluredir=‘ + self.report_xml_path
reruns = ‘-reruns=‘ + rerun
pytest_list.append(xml_dir)
pytest_list.append(reruns)
for case in self.case_list:
pytest_list.append(case)
pytest.main(pytest_list)
else:
logger.info("Have no case to test")
except Exception as ex:
logger.error(str(ex))
finally:
logger.info("****************test end**********************")
# os.system("start stopAppiumServer.bat")
if __name__ == ‘__main__‘:
test = RunAll()
test.run()caselist.txt:
test_index#test_areatest_theme#test_verify接下来就是run.bat了:就新建一个记事本文件,然后修改名字为run.bat就可以,内容如下,bat文件是先执行测试用例,然后将测试用例下的xml报告转为html报告,放到result下面的以测试时间为文件夹名字的路径下echo offpython run.pysetlocal enabledelayedexpansionrem 设置文件所在目录set src_dir=.\resultrem filename用于存放目标文件名set filename=""cd /d %src_dir%for /f %%a in (‘dir /o-d /tc /b‘) do ( echo 文件完整信息: %%a set filename=%%~na%%~xa echo 文件名: !filename!, 最新创建时间: %%~ta if not !filename! == "" ( goto allurecmd )):allurecmdallure generate ./!filename!/report/xml -o ./!filename!/report/htmlcmd
over...
相关推荐
歆萌 2020-08-03
xjp 2020-08-03
lucialee 2020-07-18
歆萌 2020-07-05
maowenbei 2020-07-04
QCkiss 2020-06-21
无缘公子 2020-06-18
xhpscdx 2020-06-16
freerocker 2020-06-16
ZoctopusD 2020-06-14
lucialee 2020-06-13
freerocker 2020-06-12
xhpscdx 2020-06-12
RocketJ 2020-06-11
chichichi0 2020-06-10
dangai00 2020-06-06
LazySleep 2020-06-06