App自动化实战(1)

最近要从0开始将手机银行的App自动化,记录这个过程.


工具选型

首先否决掉录制脚本的方法.我觉得使用录制脚本的都是假自动化.当时回放方便,但是长远来看维护性太差,稍微改动下UI可能就要全部重新录制.那么只剩下一个选择:代码实现.
比较了几款主流App自动化框架后,最后决定选择Appium.
主要是因为Appium跨平台, ,基于WebDriver,可同时用于iOS和安卓.而且不需要重新编译App,可以用Python,Ruby,Java等多种语言实现.


目标
  1. 首先,不管什么架构,数据模型之类,简单粗暴地把转账的功能跑通再说.
  2. 提出公共模块,例如登录.
  3. 将数据和业务代码分离.
  4. 使用关键字驱动等重构.

第一天
  1. 下载ios源码,在本机试运行,成功.
  2. 发现每次模拟器启动都会出线四个欢迎页面, 在AppDelegate.m找到对应代码,屏蔽之 :)
  3. 操作流程:
    • 启动App,有几个选择框:是否允许使用当前位置,是否允许发送通知,是否允许使用网络
    • 进入主界面,点击"我的账户"按钮
    • 弹出登录框,输入手机,密码,登陆成功(这里需要用万能验证码)
    • 点击"我的账户"
    • 选择银行卡
    • 点击"转账"
    • 输入"转账金额",输入"收款人户名",输入"收款账号",点击"下一步"
    • 点击"确认转账"
    • 输入"取款密码"
    • 点击"完成",回到主菜单界面.

问题记录
  1. 登录时,用户名可以直接send_keys输入,但是密码框这样输入无效.因为密码框控件是使用第三方的安全键盘,只能通过xpath找到对应的键位一个一个点击.
  2. 模拟器每次登录时会有输入验证码的要求,找到开发,对我的测试账号加入万能验证码.
  3. 真机运行报错:[XCUITest] The 'idevice_id' program is not installed. If you are running a real device test it is necessary. Install with 'brew install libimobiledevice --HEAD'按提示下载对应包就行了.
  4. 真机运行继续报错:[XCUITest] Error: Could not initialize ios-deploy make sure it is installed (npm install -g ios-deploy) and works on your system. 继续按提示下载.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值