1. 元素是否存在:
self.s(xpath='//Cell').exists #使用xpath定位
self.s(text="置顶 (0/6)", className="StaticText").exists #使用name/text或者className定位,因为在Android中大多都是使用text属性,所以我在写脚本的时候也是直接用了text,它跟name用起来其实是一样的
2. 点击元素
self.s(xpath='//Cell').click() #使用xpath定位,这里使用click和使用tap的作用一样。同样因为Android中只有click属性,为了方便书写,我也是统一使用了click()
self.s(text="置顶 (0/6)", className="StaticText").click() #使用name/text或者className定位,因为在Android中大多都是使用text属性,所以我在写脚本的时候也是直接用了text,它跟name用起来其实是一样的
number = int('123456') #将string类型转换成int
string = str(123456)#将int类型转换成string
3. 在输入框中输入内容
self.s(xpath='//Cell').set_text('test')#与Android相同使用set_text输入文字;iOS这里只能输入string类型,如果是其他类型需要先做一下类型转换
4. 等待元素出现
self.s(xpath='//Cell').get(timeout=3)#3s内等待元素出现,超过3s还未出现则不再等待
5. 处理系统的弹窗
self.s.alert.buttons())# 打印出当前弹窗中的按钮选项,可以根据弹窗中的文案来选择点击哪一个按钮
self.s.alert.click("使用App时允许")# 比如位置权限弹窗中按钮:使用App时允许,点击该该按钮
self.s.alert.accept() #是点击弹窗选项中的默认的第一个按钮
self.s.alert.dismiss() #是点击弹窗选项中的默认的第二个按钮
6. 页面滑动,提供了上下左右的滑动
self.s.swipe_down#下滑
self.s.swipe_up#上滑
self.s.swipe_left#左滑
self.s.swipe_right#下滑
self.s.swipe(x1, y1, x2, y2,)#滑动指定的距离
7. 校验返回的弹窗
8. 选择时间组件中的组件
9. 返回toast的校验操作
10.切换到其他APP后的操作
*在做即刻项目之前的系统环境准备
- 相册:准备一个“test”文件名的相册,放入10+张照片
- 视频:准备一个“video”文件名的相册,放入4段视频,时长分别是00.06、00:30、00:01、07:02
*由于iOS系统不同引起的元素不同
- 选择上传照片后打开的相册,顶部的相册名不同:iOS13:最近项目;iOS11:相机胶卷。
*遇到的坑
- 有时使用name/text定位元素时会定位失败,可以试试使用lable来定位元素