• Airtest之使用Poco测试iOS原生应用


    以下基于
    python3.8;airtestIDE1.2.9;airtest1.1.11;pocoui1.0.82

    上期回顾:Airtest之使用Poco测试Android原生应用


    首先连接设备

    可以参考之前文章:airtest之使用tidevice工具轻松连接iOS

    这里再简单说下步骤:
    1.安装WebDriverAgent,这个详细看上面的文档
    2.启动WDA

    tidevice xctest -B com.mt.farm.WebDriverAgentRunner.xctrunner

    3.AirtestIDE输入连接字符后连接

    http+usbmux://00008020-000474210233002E

    获取计算器的bundle id

    手机上打开计算器,PC上输入tidevice ps,获得计算器的bundle id:com.apple.calculator

     

    编写1+1=2代码:

    # -*- encoding=utf8 -*-

    from airtest.core.api import *
    from poco.drivers.ios import iosPoco

    # 连接设备、初始化日志路径
    auto_setup(__file__)

    # 启动计算器
    start_app("com.apple.calculator")

    # 初始化ios poco
    poco = iosPoco()

    # 依次点1+1=,这块代码可以使用IDE左下的录制功能
    poco("1").click()
    poco("加").click()
    poco("1").click()
    poco("等于").click()

    # 获取结果控件的文本并断言,可以使用IDE左下的锁定功能,并找到结果控件
    r = poco("结果").attr("value")  # 由于结果控件没有text属性,是value属性,所以使用attr()
    assert_equal("2", r, "结果=2")

    录制和查找控件不会用可以看之前文章AirtestIDE基本功能(一)

    写完后运行,正常执行完毕。点击生成报告

      

    图片

    注意:iOS设备与Android设备有很大的不同,以下通用的 Airtest 的 API 在iOS上都是支持的:

    • start_app: OK

    • stop_app: OK

    • snapshot: OK

    • home: OK

    • touch: OK

    • swipe: OK

    • text: OK

    • wait: OK

    • exists: OK

    • find_all: OK

    • assert_exists: OK

    • assert_not_exists: OK

    但是以下API是不支持的:

    • wake: 暂未支持 (考虑用home方法替代)
    • keyevent: 只支持home 事件
    • clear_app: 暂未支持
    • install: 暂未支持
    • uninstall: 暂未支持
  • 相关阅读:
    JavaScipt
    实例应用,做了一个网页
    css 层叠式样式表(3)
    css 层叠式样式表(2)
    css 层叠式样式表(1)
    HTML 框架
    .NET回归 HTML----表单元素(1)和一些常用的标记
    .NET回归 HTML----超文本标记语言(暂时无图)
    排序算法: 选择排序法
    排序算法:快速排序法
  • 原文地址:https://www.cnblogs.com/songzhenhua/p/15057132.html
Copyright © 2020-2023  润新知