基于Appium+WDA+Python搭建IOS自动化测试全纪录(三):真机demo运行

Python011

基于Appium+WDA+Python搭建IOS自动化测试全纪录(三):真机demo运行,第1张

前期回顾:

基于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文件格式结尾 在终端中输入如下命令即可看到里面的信息

改完之后 我们开发的程度就可以装到真机上啦,这个时候选择在真机上运行,就可以啦。

测试app装到真机上之后,还要考虑如何开启py脚本,在真机上进行测试。

这里需要注意两点:

最后找到的地址大概如下:

放到xcode中进行签名证书配置,注意虽然我们打开的是WebDriverAgent文件夹,但是我们要配置的是WebdDriverAgentRunner 在其Build Settings中进行与证书有关的配置

配置完毕后还需要再WebdDriverAgentRunner中添加一个RoutingHTTPServer.frameork

点击添加之后->add Other

在如下路径可以查找到该framework

找的一定是appium文件路径下的!

上边关于wda并没有做过多说明,因为还不怎么了解 等了解了再补充相关知识

py脚本主要是配置有更改,主体文件请见开头(二)模拟器demod的blog

在真机上配置更改如下:

然后启动appium 发现真机上装上了厕所app 装上了WebDriverAgentRunner 然后用python运行脚本就ok拉!

以上为从搭建环境-》模拟器跑demo-》真机跑demo的简单记录,不涉及到原理方面的讲解,如有错误之处还请提出。

【之后还有跳一跳的安卓环境搭建

wda的inspector相关环境还没记录~】

[Tbc]

个人博客:

进击的程序茗

       在实现iOS项目的自动打包工程中,我们需要配置好工程的证书文件信息,为了能够自动的根据bundle id来设置不同的profile文件,我们可以通过脚本文件来修改工程的projext.pbxproj文件帮助我们进行自动设置。

1. Project.pbxproj

Xcode项目中的xxx.xcodeproj其实是一个文件夹,右键单击xxx.xcodeproj,显示包内容:

Project.pbxproj的解析

关于这个配置文件的结构,请参考 project.pbxproj,最熟悉的”陌生人 (http://www.olinone.com/?p=215),解析该文件可以使用现有的解析工具mod-pbxproj,该工具是一个python的脚本。其github地址为: https://github.com/kronenthaler/mod-pbxproj 。

为了修改不同taget的profile,我们需要知道这些配置在文件中的具体位置,不难发现:

我们的目标是为不同的bundle id设置不同的profile,所以只需要找到不同target的XCBuildConfiguration,修改其中PROVISIONING_PROFILE的值即可。通过分析project.pbxproj文件结构,你会发现其找到这些target的buildSettings的路径如下:

rootObject=>PBXNativeTarget=>XCConfigurationList=>XCBuildConfiguration。

XCBuildConfiguration会有Debug和Release两个版本,这里我们以修改Release版本的为例进行说明。

2. Python脚本修改profile

需要在工程目录下配置如下脚本文件,通过从json文件中读取配置信息,然后根据不同的bundle id来设置不同的profile文件和其他字段信息。其中xcode_configurator_profile.py为修改profile的脚本文件,profile.json为配置的证书信息。demo如下图所示:

首先在profile.json文件中配置好bundle id和对应的profile文件,如下如所示:

然后在工程目录下执行xcode_configurator_profile.py:

检查profile修改结果:

如果设置了以后有任何问题, 你可以在对应的xxx.xcodeproject下找到对应的备份。