Fastmonkey实现iOS Monkey测试中自动登录

一:源码准备
扫盲贴:https://testerhome.com/topics/9524
源码:https://github.com/zhangzhao4444/Fastmonkey
基本配置:https://www.jianshu.com/p/2cbdb50411ae


二:添加登录代码

1、将调用登录方法的地方取消屏蔽搜索addXCTestAppLogin ,

分别是 XCTestWD/XCTestWDUITests/server/XCTestWDMonkey.swift 和 XCTestWD/XCTestWDUITests/server/controllers/XCTestWDMonkeyController.swift 两个文件




2、修改 MonkeyXCTest.swift 文件中的监听事件函数 addXCTestAppLogin



3、修改处理模块MonkeyXCTestPrivate.swift文件,这里根据不同 APP 有不同的登录逻辑;有的是先输入账号再跳转到输入密码界面,有的是账号和密码的输入在同一个界面,本厂的邮箱登录方式就是后者,但是在主登录界面还有一个跳转至邮箱登录的入口,所以也需要对它做点击操作。

还要注意的一点是普通跳转和输入数值的代码有点不同,如下可按需参考:


4、定位方式原本选用 xpath 进行定位,但是断点调试时发现元素值为nil,后改用accessibility id,即通过 id 来定位

先使用 xcode 自带工具,右上角 Xcode——Open Developer Tool——Accessibility Inspector来定位这个元素有没有 id,若没有则让开发拉个分支在指定元素定义处加一个测试 id,如


5、将所需 id 带入工程中并断点调试通过后,由于开发不允许合并该类分支,故在 Jenkins 打包脚本中对 monkey 包写入所需的定位 id,即在指定文件中找到相对唯一的位置后在其前后加上对 id 的定义,这样在执行脚本打包的时候就相当于在工程中加上 id 定义了。


6、后续还可以把邮箱登录名和密码做成参数化,写个sh 脚本就不再赘述啦~~~

猜你喜欢

转载自blog.csdn.net/LYYCasablanca000/article/details/80944600