多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

iOS接口自动化测试中airtest的使用方法介绍

更新时间:2021-09-14 01:49:51 作者:admin 浏览:504

iOS接口自动化测试中airtest的使用方法介绍

  deviceinstaller -l 获取手机所有app的包名。

  定位元素后的文本输入

  text()接口是Airtest中的文字输入接口,它能实现在目标设备上输入文本的功能,但是文本框需要处于激活状态。text()接口支持的平台有:Android、IOS和Windows。它包含以下参数:

  text – 要输入的文本,例如:

  text("hello",enter=True,search=False)

  enter–是否在输入完毕后,执行一次Enter(回车键),相当于keyevent("ENTER"),默认是True;如果仅是想输入文字,而不执行Enter(回车键),则可以传入False进去:

  text("hello",enter=False)

  值得注意的是,不同平台下的text()接口,会存在一些差异:

  Android平台下

  Android平台下的text()接口,除了上述俩个参数以外,还有另一个参数search:

  search – 是否要按下输入法键盘中的search键,默认为False;部分输入框,需要在输入内容后,点击输入键盘中的search键才能够激活搜索操作,我们传入True即可:

  text("hello",search=True)

  IOS平台下

  IOS平台下的text()接口,传入要输入的文本text时,会默认给text加上一个换行符 。

  poco中提供了一个set_text接口来实现文本输入的功能。这个接口无需调用输入法,可以直接设置文字。但是指定的控件必须是一个可输入的控件,例如在Android中,是一个 EditText 类型的widget:

  poco("com.android.mms:id/recipients_editor").set_text("hello")

  另外,set_text接口只会输入文本,而并不会像text()接口一样,默认还会执行一次回车键enter。

  我们建议各位如果项目已经接入了poco,可以多尝试使用poco的set_text来设置文字内容,如果无法输入(部分机型、部分输入框有可能不支持set_text接口),再尝试用Airtest的text()接口。

iOS接口自动化测试中airtest的使用方法介绍

  备注:

  部分手机的兼容性问题也会导致text()接口输入失败,具体可以查阅官网教程中“Android连接FAQ”小结的内容。 另外我们也可以尝试将 yosemite输入法 设置为手机默认输入法,然后再进行 text()接口的调用,可以避免部分输入失败的问题。

  有部分特殊型号的手机,可能在使用Yosemite输入法时容易失败,无法输入文字(OPPO与Vivo品牌更容易出现),假如没有输入中文的需求,可以尝试使用adb shell input 指令来进行文字输入:

  shell("input text 'hello world'")

  同时,上面这种adb shell input可以直接设置为默认的输入方式,替换原先的yosemite输入,例如这样在python代码中这样初始化手机:

  from airtest.core.api import *

  # 相当于命令行中使用 --device Android:///?ime_method=ADBIME 连接手机

  init_device("Android", ime_method="ADBIME")

  text("hello")

  把airtest截图脚本上面的相对路径,改成绝对路径,这样程序也能够根据绝对路径找到我们的截图文件:

  touch(Template(r"D:/test/tpl1590718697837.png", rgb=True, record_pos=(-0.383, 0.717), resolution=(1080, 1920)))

  poco定位元素和基础操作

  基本操作

  根据节点获取控件保存变量,定位元素,可先获取节点名称,节点名称不能完全定位,加上节点的参数提高2准确性,如name,type。

  x = poco('NodeName')

  x = poco('NodeName',type = '类型名比如Button')

  获得A节点下的子节点B:

  item = poco('ANodeName').child('BNodeName')

  获取A节点下类型为Image的子节点:

  item= poco('ANodeName').child(type='Image')

  获得A节点下的子节点B的所有名为C的子孙节点,是一个节点数组,offspring:获取当前节点下的所有子节点和孙节点:

  items = poco('ANodeName').child('BNodeName').offspring('CNodeName')

  根据下标获得某个节点数组中的某个节点:

  item = items[i]

  获取属性:

  x.get_position()

  x.get_text()

  输入文本:

  x.set_text('文本')

  判断控件是否存在,并进行操作:

  if x.exists():

  do something

  以上是关于iOS接口自动化测试中airtest的使用方法介绍,由多测师亲自撰写。  https://www.aichudan.com/

联系电话

17727591462

返回顶部