Pytest+allture+appium实战APP⾃动化测试pytest只是单独的⼀个单元测试框架,要完成app测试⾃动化需要把pytest
和appium进⾏整合,同时利⽤alltrue完成测试报告的产出。
编写常规的线性脚本具体的步骤如下:
1、设计待测试APP的⾃动化测试⽤例
2、新建app测试项⽬
3、配置conftest.py⽂件等
4、编写整体app测试⽤例运⾏⽂件
5、把设计好的⾃动化测试⽤例转化成脚本
实战⼀:设计待测试APP的⾃动化测试⽤例
实战⼆:新建app测试项⽬
实战三:
1. 配置外层conftest.py⽂件
import pytest
@pytest.fixture(scope='session')
def des_env(): # 装饰函数的名称
des_info = {
'platformName': 'Android',
'platformVersion': '9.0', # 填写android虚拟机的系统版本
'deviceName': 'Samsung Galaxy Note2', # 填写安卓虚拟机的设备名称
'appPackage': 'com.android.calculator2', # 填写被测试包名
'appActivity': 'com.android.calculator2.Calculator', # 填写被测试app⼊⼝
'udid': '192.168.58.103:5555', # 填写通过命令⾏ adb devices 查看到的 uuid
'noReset': True,
'unicodeKeyboard': True,
'resetKeyboard': True,
}
return des_info
2.配置内层conftest.py⽂件
from time import sleep
import pytest
from appium import webdriver
driver = None
@pytest.fixture()
def start_app(des_env): # 装饰函数的名称
global driver
driver = webdriver.Remote('localhost:4723/wd/hub', des_env)
return driver
@pytest.fixture(autouse=True)
def close_driver():
sleep(3)
yield driver
driver.close_app()
3.配置pytest.ini⽂件⽤于分组
[pytest]
markers =
basic:marks tests as basic
smoketest:marks tests as smoketest
systemtest:marks tests as systemtest
实战四:编写整体运⾏测试⽤例的⽂件run_all_cases.py
import os
import time
import pytest
now_time = time.strftime("%Y_%m_%d_%H_%M_%S")
xml_result_path = os.path.join(os.path.dirname(__file__),'reports/xml',now_time)
os.mkdir(xml_result_path)
html_result_path = os.path.join(os.path.dirname(__file__),'reports/html',now_time)
os.mkdir(html_result_path)
unicode keyboard download
#xml报告⽣成
pytest.main(['--alluredir={}'.format(xml_result_path),'-m basic','-s'])
#html报告⽣成
os.system("E:/allure/allure-2.13.5/bin/allure generate {} -o {}".format(xml_result_path,html_result_path))实战五:编写具体的测试⽤例
allure⽤例描述详解:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论