1. 元素是否存在:

  1. self.s.xpath('//Cell').exists(timeout=1) #使用xpath定位
  2. self.s(text="置顶 (0/6)", className="StaticText").exists(timeout=1) #使用text或者className定位

2. 点击元素

  1. self.s.xpath('//Cell').click() #使用xpath定位,这里使用click和使用tap的作用一样。Android中只有click属性
  2. self.s(text="置顶 (0/6)", className="StaticText").click() #使用name/text或者className定位,因为在Android中大多都是使用text属性,所以我在写脚本的时候也是直接用了text,它跟name用起来其实是一样的
  3. number = int('123456') #将string类型转换成int
  4. string = str(123456)#将int类型转换成string

3. 在输入框中输入内容

  1. self.s(xpath='//Cell').set_text('test')#与Android相同使用set_text输入文字;iOS这里只能输入string类型,如果是其他类型需要先做一下类型转换

4. 等待元素出现

  1. self.s(xpath='//Cell').get(timeout=3)#3s内等待元素出现,超过3s还未出现则不再等待

5. 处理系统的弹窗

  1. self.s.alert.buttons())# 打印出当前弹窗中的按钮选项,可以根据弹窗中的文案来选择点击哪一个按钮
  2. self.s.alert.click("使用App时允许")# 比如位置权限弹窗中按钮:使用App时允许,点击该该按钮
  3. self.s.alert.accept() #是点击弹窗选项中的默认的第一个按钮
  4. self.s.alert.dismiss() #是点击弹窗选项中的默认的第二个按钮

6. 页面滑动,提供了上下左右的滑动

  1. self.s.swipe_down#下滑
  2. self.s.swipe_up#上滑
  3. self.s.swipe_left#左滑
  4. self.s.swipe_right#下滑
  5. self.s.swipe(x1, y1, x2, y2,)#滑动指定的距离

7. 校验返回的弹窗

8. 选择时间组件中的组件

*由于iOS系统不同引起的元素不同

  1. 选择上传照片后打开的相册,顶部的相册名不同:iOS13:最近项目;iOS11:相机交卷。

*遇到的坑

  1. 有时使用name/text定位元素时会定位失败,可以试试使用lable来定位元素