• 0
  • 0
分享
  • 软件测试:Airtest的iOS实用接口介绍——软件测试圈
  • 曼倩诙谐 2024-03-11 11:12:57 字数 2078 阅读 1230 收藏 0

  1. 前言

  前段时间Airtest更新了1.3.0.1版本,里面涉及非常多的iOS功能新增和改动,今天想详细跟大家聊一下里面的iOS设备接口。

  PS:本文示例均使用本地连接的iOS设备,Airtest版本为1.3.0.1 。

  2. 安装接口:install、install_app

  Airtest支持通过本地.ipa文件安装APP,也支持通过下载链接安装APP,以本地ipa文件为例:

  # -*- encoding=utf8 -*-
  __author__ = "AirtestProject"
  
  from airtest.core.api import *
  auto_setup(__file__)
  
  install(r"D:\my_popo\email.ipa")

1-1.jpg

  当然上述装包功能,我们用 device().install_app 也可以实现:

  # -*- encoding=utf8 -*-
  __author__ = "AirtestProject"
  
  from airtest.core.api import *
  auto_setup(__file__)
  
  dev = device()
  dev.uninstall_app("com.netease.mailmaster")

  3. 卸载接口:uninstall、uninstall_app

  卸载接口与安装接口类似,可以直接 uninstall ,也可以通过 device().uninstall_app 来卸载指定APP,这里以 uninstall_app 为例:

  # -*- encoding=utf8 -*-
  __author__ = "AirtestProject"
  
  from airtest.core.api import *
  auto_setup(__file__)
  
  dev = device()
  dev.uninstall_app("com.netease.mailmaster")

1-2.jpg

  当然换成 install 接口也是一样的效果:

  # -*- encoding=utf8 -*-
  __author__ = "AirtestProject"
  
  from airtest.core.api import *
  auto_setup(__file__)
  
  uninstall("com.netease.mailmaster")

  4. 列出所有APP的接口:list_app

  我们可以用 list_app 列出iOS设备的APP列表,并且支持在 list_app("") 里传入要列出的app类型,all、system、user ,分别对应全部APP、系统APP、用户安装的APP,这里以列出用户安装的APP信息为例:

  # -*- encoding=utf8 -*-
  __author__ = "AirtestProject"
  
  from airtest.core.api import *
  auto_setup(__file__)
  
  dev = device()
  
  #列出并打印用户安装的APP
  print("---------以下是用户安装的APP的信息-----------")
  user_app = dev.list_app("user")
  print(user_app)

1-3.jpg

  PS:在1.3.0.1版本的Airtest里面使用该接口,会报一个 TypeError: list_app() got an unexpected keyword argument 'type' 的错误,我们将在后续的版本中修复它。

  5. 剪切板功能:get_clipboard、set_clipboard

  新版Airtest还支持设置iOS设备的剪切板,我们可以从一个简单的示例来查看这个功能:

  · 设置剪切板内容

  · 获取并打印剪切板内容

  · 粘贴剪切板内容

  # -*- encoding=utf8 -*-
  __author__ = "AirtestProject"
  
  from airtest.core.api import *
  auto_setup(__file__)
  
  #设置剪贴板内容
  set_clipboard("content")
  
  #获取并打印剪切板内容
  text = get_clipboard()
  print("当前剪切板内容:" + text)
  
  #单击唤出粘贴按钮
  touch([50,310])
  
  #粘贴剪切板内容
  touch(Template(r"tpl1692173001410.png", record_pos=(-0.38, -0.788), resolution=(750, 1624)))

1-4.jpg


作者:程序员小濠    

来源:http://www.51testing.com/html/91/n-7798191.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • Dify 一词源自 Define + Modify,意指定义并持续改进你的 AI 应用。随着大型语言模型(LLM)不断涌现的各种能力,AI 应用的场景变得更加广阔。然而,对于大多数开发者而言,基于 GPT 等大型语言模型、Langchain 等技术框架开发 AI 应用仍然是一项门槛极高的任务。开发者必须花费大量时间学习各种晦涩的概念和技术研究,也无法进行 AI 应用的持续运营。是否有这样一个工具,开发者无需关注基础设施的底层原理,只需专注于将想象力转化为实际落地的 AI 应用并持续运营,可以将大型语言模型变成像云计算服务一样易于使用?基于这个问题,Dify.AI 诞生了。它是为你而做的(Do ...
            0 0 1716
            分享
          • 前言最早接触“零侵入”一词,源于笔者参加美团举办的测试技术沙龙活动。活动上,去哪儿网的童鞋介绍其自主研发的接口自动化测试框架Qunit时,提到了一项关键技术:零侵入切面技术,该技术方案最大优点是:无需修改代码实现mock功能,举例说明如下。 假如被测接口里面调用了第三方接口,由于第三方接口的不确定性,对于某些测试场景(比如请求超时、特定错误码测试等),测试人员往往需要开发人员添加mock来配合测试,这种工作效率相对来说是比较低的,而且也不利于自动化测试的开展。零侵入技术把mock主动权交接给测试人员管理,无需开发再去修改代码、部署测试环境等一系列动作。测试人员只需根据具体的测试场景编写对应三方...
            1 2 3103
            分享
          •   最近系统学习了一遍python基础知识,学着学着灵光一闪,想到有没有快速掌握知识的方法。一般正常的逻辑是边看基础知识边练习案例,是一个书由厚变薄的过程。   不过现在节奏这么快,尤其是互联网公司,排除周末在家看孩子的时间,几乎没有时间和精力再进行深度学习,所以这篇文章就诞生了。   本文通过案例入手直接结合python知识点,可以快速掌握python基础知识点。  案例名称   ·计算圆形面积   ·输入字符并倒序输出   ·猜数字游戏   ·按照诗句格式输出诗词   ·统计文本中出现次数最多的10个单词(txt)   ·web页...
            14 14 2393
            分享
          • 使用说明:http://quan.51testing.com/pcQuan/lecture/97 开源项目地址: https://gitee.com/samllpig/SafeTool-51testing (谢谢大家点亮star)安全测试工具架构:安全测试工具v1.1版本更新内容:1、数据重放功能2、集成SQLMAP,用于SQL注入测试3、集成hydra破解器(hydra是黑客组织thc的一款开源密码攻击工具,用来测试存在暴力破解的漏洞。)4、监控https流量,需要在cmd命令行窗口中输入mitmdump命令,在windows系统中生成ca证书,然后在当前用户的目录下找到相关系统的...
            1 1 3875
            分享
          •   1 引言  1.1背景  随着Android应用越来越壮大,对应代码量显著增加,代码逻辑也日趋复杂,此时需要采取一定的行动去保证代码质量,减少逻辑漏洞等,于是严格地执行单元测试编写任务,将单元测试落实到平常开发和维护任务当中去,就是很重要的一环,不可忽视。  然而,很多应用开发者之前并未编写过单元测试代码,那么如果有一篇通俗易懂并带有操作步骤的文章,能帮助应用开发者完成从单元测试小白到入门的过渡,就再好不过了,于是本文就是在此情况写就的,如有不好之处,请多多包涵,谢谢。  1.2 术语和缩略语  2 闲谈单测  2.1 说说我理解的单测  2.1.1 对测试金字塔的理解  本文所指的单测,...
            0 0 1912
            分享
      • 51testing软件测试圈微信