我在另一篇博客中写了使用unittest做app自动化测试的,包含了前期的环境的环境搭建,请参考如下链接:python+appium+unittest做app自动化测试
这里,我们使用pytest框架再改写一个版本,因为pytest做测试报告看着更加好看,代码改良如下:
from appium import webdriver import pytest @pytest.fixture(scope='session') def driver(request): server_url = 'http://localhost:4723/wd/hub' desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '8.1.0' desired_caps['deviceName'] = '2c7c688a' desired_caps['appPackage'] = 'com.hhh.aaa.xxx.test' # 应用的包名 desired_caps['appActivity'] = 'com.hhh.aaa.xxx.test.MainActivity' # 应用的主Activity driver = webdriver.Remote(server_url, desired_caps) def fin(): driver.quit() request.addfinalizer(fin) return driver def test_find_and_click_element(driver): button = driver.find_element_by_id('com.hhh.aaa.xxx.test:id/apiCastBtn') button.click()
这里需要安装pytest,命令行下执行pip install pytest,如果出现报错,可尝试使用管理员权限打开cmd,执行pip install --ignore-installed pytest,生成测试报告,需要执行pip install pytest-html
上面的python代码保存为文件appiumtest.py,执行:
pytest --html=report.html appiumtest.py
当前路径下生成了report.html文件,内容如下:
对比unittest,看着还是pytest更加好用点
标签:appium,python,app,driver,html,caps,desired,pytest From: https://www.cnblogs.com/zndxall/p/18151138