使用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更容易上手。
相关文章
|
4月前
|
存储 设计模式 测试技术
怎么基于Pytest+Requests+Allure实现接口自动化测试?
该文介绍了一个基于Python的自动化测试框架,主要由pytest、requests和allure构成,采用关键字驱动模式。项目结构分为六层:工具层(api_keyword)封装了如get、post的请求;参数层(params)存储公共参数;用例层(case)包含测试用例;数据驱动层(data_driver)处理数据;数据层(data)提供数据;逻辑层(logic)实现用例逻辑。代码示例展示了如何使用allure装饰器增强测试报告,以及如何使用yaml文件进行数据驱动。
107 0
|
2月前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
30 3
django集成pytest进行自动化单元测试实战
|
2月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
53 1
|
2月前
|
小程序 前端开发 持续交付
小程序全栈开发中的CI/CD流程与自动化部署是一种高效的开发模式。
本文探讨小程序全栈开发中的CI/CD流程与自动化部署,介绍持续集成与部署的概念,包括自动化构建、测试、代码审查及部署实践。通过提高代码质量、迭代速度及团队协作效率,确保小程序稳定运行与良好用户体验。
60 2
|
2月前
|
小程序 UED 开发者
揭秘支付宝小程序成功之道:UI/UX设计原则与用户体验优化秘籍大公开!
【8月更文挑战第27天】支付宝小程序在移动互联网中扮演着重要角色,优秀的UI/UX设计能显著提升用户满意度。本文首先强调了设计的一致性、简洁性、易用性和响应性原则,确保用户获得顺畅体验。接着,介绍了最佳实践,包括利用支付宝设计组件库保持界面统一、优化加载速度、适应多设备显示、设置清晰导航以及重视用户反馈。最后,提供了一个简单示例展示如何应用支付宝设计组件。遵循这些指导原则,开发者能够构建既美观又实用的小程序。
47 0
|
3月前
|
小程序
通用的职位招聘小程序ui模板
通用的职位招聘小程序ui模板
34 5
通用的职位招聘小程序ui模板
|
3月前
|
小程序 前端开发
微信综合购物商城小程序ui模板源码
微信电商小程序前端页面,综合购物商城ui界面模板。主要功能包含:电商主页、商品分类、购物车、购物车结算、我的个人中心管理、礼券、签到、新人专享、专栏、商品详情页、我的订单、我的余额、我的积分、我的收藏、我的地址、我的礼券等。这是一款非常齐全的电商小程序前端模板。
67 4
|
3月前
|
小程序 PHP
全新UI自助图文打印系统小程序源码 PHP后端 附教程
全新UI自助图文打印系统小程序源码 PHP后端 附教程
224 2
|
4月前
|
小程序 开发者 Windows
轻量、可靠的小程序 UI 框架 -- Vant Weapp的安装和使用
轻量、可靠的小程序 UI 框架 -- Vant Weapp的安装和使用
98 1
|
5月前
|
Web App开发 前端开发 Java
Selenium UI 自动化
Selenium UI 自动化
下一篇
无影云桌面