Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

05-28 1082阅读

这里写自定义目录标题

  • 需要应用到的软件及包
    • 下载链接:
    • 操作方法

      需要应用到的软件及包

      1、Pycharm

      2、Xcode

      3、Appium servers GUI

      4、Appium Inspector

      5、WebDriverAgent包

      下载链接:

      1、pycharm: https://pycharm.en.softonic.com/mac

      2、Xcode: App Store内下载即可

      3、Appium servers GUI: https://github.com/appium/appium-desktop/releases

      4、Appium Inspector: https://pan.baidu.com/s/1CDBUHJQhE4RkR7l5ngyT4w 提取码: 9999

      5、WebDriverAgent: https://pan.baidu.com/s/1-s6PvvFr2rLQ5TZmlh_H0Q 提取码: 9999

      操作方法

      1、Xcode&WebDriverAgent导入修改文件操作步骤

      (1)解压WebDriverAgent文件,点击WebDriverAgent.xcodeproj文件导入到Xcode中

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (2)进入后点击TARGETS中的WebDriverAgentLib–>Signing&Capabilities,将Team信息选择为自己的Xcode 默认Team,Budle Identifier中的zetian修改为自己的名称/其它昵称。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (3)待底部IOS的Signing Certificate Apple Development识别到自己的Apple ID后表示修改完成

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (4)进入后点击TARGETS中的WebDriverAgentRunner–>Signing&Capabilities,将Team信息选择为自己的Xcode 默认Team,Budle Identifier中的zetian修改为自己的名称/其它昵称。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (5)修改完成后展开WebDriverAgent–>WebDriverAgentRunner文件,点击Info表,姜Bundle identifier中的zetian修改为和自己之前设置WebDriverAgentLib一样的昵称。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (6)修改完成后,点击顶部栏图中所谓下拉列表,选择WebDriverAgentRunner

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (7)点击顶部栏图中所谓下拉列表,选择自己已经连接的手机。(手机要提前连接电脑打开开发者模式,如何打开开发者模式可搜索其他文章进行设置打开)

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (8)点击电脑键盘上的Command+U(注意:是U,不是R),会出现build successed标志。手机上会对应安装好WebDriverAgent的一个软件(此时软件还是用不了的)

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (9)打开手机的设置,在顶部搜索框中输入“VPN与设备管理”,检索到VPN与设备管理选项,点击进入

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (10)进入后开发者APP中会出现Apple Development,点击进入信任

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (11)信任后重新返回Xcode中,点击键盘上的Command+U按钮,再次出现Build successed后,手机上会出现Automation Running 后表示WebDriverAgent项目启动成功。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      2、Appium Server GUI 安装及使用

      (1)打开https://github.com/appium/appium-desktop/releases,选择对应的版本进行下载解压安装。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      (2)安装完成后,启动APP(若APP显示不受电脑信任,进入系统设置–>隐私和安全性,信任该软件就可以正常打开),Host和Port不做改变,点击StartServer启动,启动成功后显示图1.1所示页面。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      3、pycharm中的代码及设置

      (1)进入Pycharm,创建.py文件,输入如下代码(若from appium import webdriver显示报错,那么就是没有导入Appium包,可以点击Pycharm–>Setting–>Python Interpreter,点击“+”号导入Appium-python-Client包(如图1.2),要注意导入包时选择对应所需的版本,因为有些版本不支持一些方法的使用)

      from appium import webdriver
         
      class AppiumSession:
          # 调用Appium服务端口
          def __init__(self, server_url='http://localhost:4723/wd/hub'):
              self.driver = None
              self.server_url = server_url
          # 启动IOS服务的协议(也就是代码中需要针对于连接的要测试的真机进行设定)
          def start_ios_session(self, platform_version=None, device_name=None, app=None, udid=None):
              desired_caps = {'platformName': 'iOS',
                              'platformVersion': platform_version,
                              'deviceName': device_name,
                              'app': app}
              if udid:
                  desired_caps['udid'] = udid
              if platform_version:
                  desired_caps['platfossrm_version'] = platform_version
              if device_name:
                  desired_caps['device_name'] = device_name
              elif app:
                  desired_caps['app'] = app
              self.driver = webdriver.Remote(self.server_url, desired_caps)
              return self.driver
      

      (3)新建.Py文件,输入以下代码(本文章以京东App作为例子)

      platform_version:连接的真机操作系统

      获取方法:设置–>通用–>关于本机–>IOS版本

      device_name:连接的真机型号

      获取方法:设置–>通用–>关于本机–>型号名称

      app:需要操作的APP的包名

      获取方法:手机连接电脑–>电脑终端–>使用brew install ideviceinstaller命令安装ideviceinstaller,安装完成后使用ideviceinstaller -l命令可以查看到手机上已经安装所有包的包名(例如京东是com.360buy.jdmobile)

      可能会遇到的问题:终端输入brew install ideviceinstaller显示not found brew,是因为没有安装brew命令环境。使用/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"即可安装(raw.githubusercontent.com为国外资源,如果下载失败可以尝试搜索其他方式进行下载)

      udid:手机的唯一识别码

      获取方法:使用idvice_id命令获得手机的UDID

      注意:因为为了代码的健壮性,所以将手机连接的方法进行了单独封装,在新的py文件中需要引入上面创建.py文件中的AppiumSession类,我的引入位置是from JudgmentElement.MobileConnection import AppiumSession,可以根据个人存放的位置进行引入。

      Mac连接IOS真机进行自动化测试(Appium、Appium Inspector/Server、Pycharm...)WebDriverAgent配置、Python代码中配置真机信息等

      from appium.webdriver.common.appiumby import AppiumBy
      from JudgmentElement.MobileConnection import AppiumSession
      class JinDong:
          appium_session = AppiumSession(server_url='http://localhost:4723/wd/hub')
          driver = appium_session.start_ios_session(platform_version='16.1', device_name='iPhone 12',
                                                    app='com.360buy.jdmobile',
                                                    udid='XXXXXXXXXXXXXXXXXX')
      

      4、主体连接连接成功,接下来就可以运行class Jindong,控制手机自动打开京东APP了。(注意:在运行pycharm时,要保持Xcode和Appium servers GUI 也在运行中)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]