前期回顾:
基于Appium+WDA+Python搭建IOS自动化测试全纪录(二):模拟器demo运行
基于Appium+WDA+Python搭建IOS自动化测试全纪录(一):环境搭建
在模拟器将demo跑通之后,就要在真机上测试啦,模拟器总是要为真机服务的。
证书问题
在真机上主要是涉及到签名及证书的问题,一下blog写的特别好,然而其实我也没有看懂,RSA算法神马的早在密码学课程上还给老师了。
iOS App 签名的原理
主要在此简单记录一下证书的配置吧。
在xcode中找到build Setting配置部分(之所以把这张图放出来是因为我最开始找不到这个配置,萌新啥都找不到):
更改一下三个字段对应的内容:
Code Siging identify 证书里面对应的开发者
Product Bundle Identify 对应的bundleID
Provisioning Profile 包含了 证书 / Entitlements 等数据,并由苹果后台私钥签名的数据包。
数据包是.mobileprovision文件格式结尾 在终端中输入如下命令即可看到里面的信息
security cms -D -i xxxxx.mobileprovision
改完之后 我们开发的程度就可以装到真机上啦,这个时候选择在真机上运行,就可以啦。
Appium中wda真机配置
测试app装到真机上之后,还要考虑如何开启py脚本,在真机上进行测试。
这里需要注意两点:
- webDriverAgent的配置
- py脚本的配置有变化
关于WebDriverAgentgithub地址这个还没了解太多,所以在这里先不介绍了。简单来说appium的服务中带有webDriverAgent,在模拟器上我们开启appium服务,会发现模拟机上会同步装上WebRriverAgentRunner的app,这个是appium能在ios上测试的关键条件,但是在真机上,却不能直接装上。
因为需要证书啊!!!
不能直接从github上下载进行证书配置,要改appium中node_modules中的webDriverAgent。
先找到appium的位置
find / -name appium // /usr/local/lib/node_modules/appium
最后找到的地址大概如下:
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
放到xcode中进行签名证书配置,注意虽然我们打开的是WebDriverAgent文件夹,但是我们要配置的是WebdDriverAgentRunner 在其Build Settings中进行与证书有关的配置
Code Siging identify 证书里面对应的开发者
Product Bundle Identify 对应的bundleID
Provisioning Profile 包含了 证书 / Entitlements 等数据,并由苹果后台私钥签名的数据包。
配置完毕后还需要再WebdDriverAgentRunner中添加一个RoutingHTTPServer.frameork
点击添加之后->add Other
在如下路径可以查找到该framework
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Carthage/Build/iOS
找的一定是appium文件路径下的!
上边关于wda并没有做过多说明,因为还不怎么了解等了解了再补充相关知识
py脚本
py脚本主要是配置有更改,主体文件请见开头(二)模拟器demod的blog
在真机上配置更改如下:
desired_capabilities={
'bundleId': //这个是和证书有关联的
'platformName': 'iOS',
'platformVersion': '9.3.2',
'deviceName': 'iPhone5 slave15',
'automationName':'XCUITest',
"clearSystemFiles" : True,
'udid'://模拟器的时候我们用uuid,但是真机上请用udid
})
然后启动appium 发现真机上装上了厕所app 装上了WebDriverAgentRunner 然后用python运行脚本就ok拉!
以上为从搭建环境-》模拟器跑demo-》真机跑demo的简单记录,不涉及到原理方面的讲解,如有错误之处还请提出。
【之后还有跳一跳的安卓环境搭建
wda的inspector相关环境还没记录~】
[Tbc]