使用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更容易上手。
相关文章
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
1586 156
|
人工智能 自然语言处理 API
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。
4300 16
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
|
小程序 JavaScript 前端开发
小程序常见的UI框架
小程序常见的UI框架
1245 60
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
2391 15
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
1419 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
1839 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
小程序 开发者 UED
支付宝小程序UI/UX设计原则与最佳实践
支付宝小程序UI/UX设计原则与最佳实践
1012 6
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
499 3
django集成pytest进行自动化单元测试实战
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
1058 2
|
小程序
通用的职位招聘小程序ui模板
通用的职位招聘小程序ui模板
206 5
通用的职位招聘小程序ui模板

热门文章

最新文章