使用AirtestProject+pytest做支付宝小程序UI自动化测(二)

简介: 使用pytest框架,修改脚本,调试运行

四,使用pytest框架,修改脚本,调试运行


1,在AirtestIDE中调试代码


小程序操作步骤录制如下,可以在AirtestIDE上面先调试运行,是否正确。

微信图片_20220424135812.png

代码如下:

# -*- encoding=utf8 -*-
__author__ = "xiaoqq"
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
from airtest.cli.parser import cli_setup
if not cli_setup():
 auto_setup(__file__, logdir=True, devices=[
 "Android://127.0.0.1:5037/5EN0219305002521",
 ])
# script content
print("start...")
poco(text="扫一扫").click()
poco(text="相册").click()
poco("com.alipay.mobile.beephoto:id/iv_photo").click()
poco(text="大物洗").click()
poco(text="选好了").click()
poco(text="已关门").click()
poco(text="余额").click()
poco(text="去支付").click()
poco(text="立即支付").click()
# generate html report
# from airtest.report.report import simple_report
# simple_report(__file__, logpath=True)


2,完善代码


接下来就在Pychram里打开该.py文件,开始完善脚本。增加断言,并使用pytest管理、执行用例

# -*- encoding=utf8 -*-
__author__ = "xiaoqq"
import pytest
from airtest.core.api import *
@pytest.fixture(scope='function', params=['Android://127.0.0.1:5037/64c83202'])
def base_poco(request):
    '''
    构造新的poco,完成测试用例执行前、后的步骤
    @return: 返回新的poco对象
    '''
    from poco.drivers.android.uiautomation import AndroidUiautomationPoco
    connect_device(request.param)
    base_poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
    base_poco.device.wake()
    start_app("com.eg.android.AlipayGphone")
    sleep(2)
    yield base_poco
    sleep(2)
    stop_app("com.eg.android.AlipayGphone")
    sleep(2)
def test_wash_order(base_poco):
    print("start...")
    base_poco(text="扫一扫").click()
    base_poco(text="相册").click()
    base_poco("com.alipay.mobile.beephoto:id/iv_photo").click()
    base_poco(text="大物洗").click()
    base_poco(text="选好了").click()
    base_poco(text="已关门").click()
    base_poco(text="余额").click()
    base_poco(text="去支付").click()
    base_poco(text="立即支付").click()
    time.sleep(1)
    result_1 = base_poco(text="支付成功").exists()
    assert result_1 == True
    print("end...")
if __name__ == '__main__':
    pytest.main()


3,运行代码


运行该模块,可以查看手机上的操作步骤,结果通过!

微信图片_20220424135819.png


简单的demo已经跑通,后续需要优化项目的目录结构,并加入截图、日志、测试报告模块,搭建成一个完整的自动化测试项目。


五,总结


  • 相对来说appium太笨重了,而网易提供的AirtestIDE里的poco辅助工具可以将元素定位及操作可以直接生成为代码。


  • 在AirtestIDE中只能运行单个的脚本,无法批量的运行测试脚本和管理测试脚本,而利用Airtest提供的开源的API结合其他的python库使用,可以实现更复杂的代码逻辑。


  • poco框架看起来代码简洁程度比airtest更好,维护更方便,且airtest框架基于图像识别,实际运行工程中可能会受识别率的影响。但对于新手或者代码基础薄弱的测试同学而言,airtest更容易上手。
相关文章
|
13天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
51 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
181 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
25天前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
44 2
|
2月前
|
小程序 JavaScript 前端开发
小程序常见的UI框架
小程序常见的UI框架
300 60
|
1月前
|
小程序 开发者 UED
支付宝小程序UI/UX设计原则与最佳实践
支付宝小程序UI/UX设计原则与最佳实践
48 6
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
27 2
|
3月前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
50 3
django集成pytest进行自动化单元测试实战
|
3月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
82 1
|
3月前
|
小程序 前端开发 持续交付
小程序全栈开发中的CI/CD流程与自动化部署是一种高效的开发模式。
本文探讨小程序全栈开发中的CI/CD流程与自动化部署,介绍持续集成与部署的概念,包括自动化构建、测试、代码审查及部署实践。通过提高代码质量、迭代速度及团队协作效率,确保小程序稳定运行与良好用户体验。
87 2
|
3月前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。