老先生111 2024-07-22 11:55 采纳率: 0%
浏览 0
已结题

测试 数据为动态 不用截图如何定位

用airtest写一个测试(运用airtest中的api):购买使用积分购卖后,点击【支出】查看积分流水,积分流水新增扣除购买商品所需积分的流水,并确认截图的积分流水为本次支付的积分流水,流水为动态的,怎么定位

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-07-22 11:55
    关注

    以下内容由AIGC及阿里嘎多学长共同生成、有用望采纳:


    使用Airtest框架编写自动化测试脚本涉及到多个步骤,下面我将针对你提出的问题提供一些指导和建议:

    1. 使用Airtest框架编写自动化测试脚本

      • 首先,需要安装Airtest IDE或者使用命令行工具。
      • 编写脚本时,可以利用Airtest IDE的图形化界面来选择元素,或者直接在Python脚本中使用Airtest的API。
    2. 模拟使用积分购买商品的操作

      • 使用connect_device()连接设备。
      • 使用snapshot()来获取当前屏幕快照。
      • 使用(tap/swipe)()函数模拟点击或滑动操作,选择商品和积分支付选项。
    3. 点击【支出】查看积分流水

      • 利用(tap/swipe)()函数模拟用户点击【支出】按钮。
    4. 验证积分流水中新增的扣除购买商品所需积分的记录

      • 使用text()函数来获取页面上显示的文本信息。
      • 利用文本信息中的关键字来识别和验证积分流水记录。
    5. 面对动态变化的积分流水,如何有效地定位并验证正确的积分流水记录

      • 使用wait()函数来等待页面元素加载完成。
      • 利用文本内容匹配和时间戳等信息来定位最新的积分流水记录。
    6. 避免使用截图,而是通过其他方法来定位和验证信息

      • 利用find()函数来查找页面元素,而不是依赖截图。
      • 使用元素的属性(如文本、类名、ID等)来定位,而不是视觉特征。
    7. 使用Python语言结合Airtest API实现测试需求

      • 以下是一个简单的示例代码框架,用于说明如何结合Python和Airtest API实现测试需求:
    from airtest.core.api import *
    
    # 连接设备
    connect_device()
    
    # 启动应用
    start_app("your_package_name/your_activity_name")
    
    # 模拟购买商品操作
    # 这里需要根据实际的UI元素和操作流程来编写
    tap((500, 1000))  # 示例坐标,点击商品
    swipe((500, 1800), (500, 100), 0.02)  # 滑动到积分支付选项
    
    # 点击【支出】查看积分流水
    tap((1000, 1800))  # 示例坐标,点击【支出】按钮
    
    # 等待积分流水页面加载
    wait("积分流水页面元素的ID或者文本", timeout=10)
    
    # 验证积分流水记录
    # 这里需要根据实际页面元素和预期结果编写
    logs = text("积分流水记录文本")  # 获取所有流水记录的文本
    for log in logs:
        if "购买商品" in log and "扣除积分数" in log:
            # 验证积分数是否正确
            assert int(log.split("扣除")[1].split("积分")[0]) == expected_points, "积分数不正确"
    
    # 结束测试
    disconnect_device()
    

    请注意,上述代码仅为示例,实际编写时需要根据具体的应用界面和操作流程进行调整。务必参考Airtest的官方文档来获取更详细的API信息和使用示例。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月22日
  • 创建了问题 7月22日

悬赏问题

  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名
  • ¥15 算法设计与分析课程的提问
  • ¥15 用MATLAB汇总拟合图
  • ¥15 智能除草机器人方案设计
  • ¥15 对接wps协作接口实现消息发送
  • ¥15 SQLite 出现“Database is locked” 如何解决?