美文网首页iOS DeviOS自动打包
基于Appium+WDA+Python搭建IOS自动化测试全纪录

基于Appium+WDA+Python搭建IOS自动化测试全纪录

作者: 进击的程序茗 | 来源:发表于2018-01-15 22:37 被阅读1182次

    前期回顾:
    基于Appium+WDA+Python搭建IOS自动化测试全纪录(二):模拟器demo运行
    基于Appium+WDA+Python搭建IOS自动化测试全纪录(一):环境搭建

    在模拟器将demo跑通之后,就要在真机上测试啦,模拟器总是要为真机服务的。

    证书问题

    在真机上主要是涉及到签名及证书的问题,一下blog写的特别好,然而其实我也没有看懂,RSA算法神马的早在密码学课程上还给老师了。
    iOS App 签名的原理
    主要在此简单记录一下证书的配置吧。
    在xcode中找到build Setting配置部分(之所以把这张图放出来是因为我最开始找不到这个配置,萌新啥都找不到):

    WX20180115-203847@2x.png

    更改一下三个字段对应的内容:
    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


    WX20180115-222415@2x.png

    点击添加之后->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]

    个人博客:
    进击的程序茗

    相关文章

      网友评论

        本文标题:基于Appium+WDA+Python搭建IOS自动化测试全纪录

        本文链接:https://www.haomeiwen.com/subject/bggdoxtx.html