MacOS Mojave10.14.4 下ios自动化环境搭建以及每个步骤的功能作用(二)

    xiaoxiao2022-07-06  207

    前言

    在上一篇中所有的环境都安装好了以后,那么接下来将进行搭建环境最后的步骤

    1. 安装WebDriver

    WebDriver 是c/s架构,server端是各种支持webdriver接口的浏览器,当测试脚本启动浏览器之后,该浏览器与一个端口进行绑定,来监听client端发来的各种请求并作出响应。client通俗的说就是我们的测试脚本,脚本中各种行为被以http请求的形式发送给server(浏览器),浏览器接受这些请求,并执行相应的操作,最后在response中返回执行状态、返回值等信息 安装: sudo -s cnpm install -g wd

    2. 安装webpack

    webpack是一个前端资源打包工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。 安装: sudo -s cnpm install -g webpack

    3. 安装appium-xcuitest-driver依赖

    在ios 的UI自动化方面,苹果对于不同的系统版本采用了不同的方式。在ios10版本以下是使用uiautomation的,在xcode自带的工具instruments中选择Automation,使用js以面向过程的方式写自动化case。在ios10以上是使用xcui框架,可以使用java语言以面向对象的方式进行UI自动化case的编写。其中引用的Facebook提供的WDA方案来驱动iOS的测试,WDA编译应用在真机中必须配置development team和provisioning profile。 安装: sudo -s cnpm install appium-xcuitest-driver

    4. 配置WebDriverAgent

    WebDriverAgent简称WDA,由facebook推出的一款ios移动测试框架,能够支持模拟器和真机。WebDriverAgent在ios端实现了一个WebDriver的server,运行WebDriverAgent就相当于在目标设备启动了一个服务,这个服务接收测试脚本的请求并执行,实现启动杀死app、点击、滚动屏幕、确定页面是否正确。 运行WebDriverAgent有两种方式,第一种方式是通过xcode(见下方步骤),第二种方式是使用脚本运行(推荐), 该种方式是要求在xcode上将WebDriverAgent签名证书统统配置好以后才能正常使用: 真机运行测试 xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test 模拟器运行测试 xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "platform=iOS Simulator,name=iPhone X" test

    下载WebDriverAgent,此处注意,要下载appium项目最新的WebDriverAgent,不要按照网上推荐去下载facebook的WebDriverAgent,Facebook的WebDriverAgent有一个大坑,就是当什么签名证书都配置好以后,启动app的时候会进入无限循环启动app–关闭app。正确的WebDriverAgent下载地址: git clone https://github.com/appium/WebDriverAgent.git 注意:此处用到的下载命令是git,所以你的电脑上要已经成功安装git下载成功后,在终端进入WebDriverAgent目录下,输入: ./Scripts/bootstrap.sh 当终端显示上图时,表明已经执行成功打开访达,进入WebDriverAgent目录,双击打开 WebDriverAgent.xcodeproj,(系统默认打开方式是xcode) 双击 TARGETS 中的WebDriverAgentLib,按照图中的步骤进行操作 双击TARGETS 中的WebDriverAgentRunner,按照图中步骤操作 TARGETS中UnitTests, IntegrationTests_1, IntegrationTests_2, IntegrationTests_3, IntegrationApp, 都要按照上面的步骤进行设置。 设置完成以后,用设置好的WebDriverAgent将 usr/local/lib/node_modules/appium/_appium-xcuitest-driver/ 中的WebDriverAgent替换。设置完成以后点击 Product····>Scheme····>WebDriverAgentRunner,设置运行脚本 设置运行目标设备 Product····>Destination····>你的连接设备或者模拟器 开始运行, Product····>Test 运行后目标设备会出现一个WebDriverAgentapp,首次点击此app系统提示需要你去信任此开发者应用, 设置····>通用····>描述文件与设备管理····>点击开发者应用选择信任此应用,然后重新执行上一步(步骤9)。执行成功后打开浏览器输入 http://localhost:8100/status 回车后如果出现了连接设备的信息,那么表示运行成功,输入http://localhost:8100/inspector能够查看系统页面层级关系 如果输入 http://localhost:8100/status没有出现连接设备相关信息,那么在终端输入: iproxy 8100 8100 一些国产机是不能直接通过电脑访问连接设备的,所以需要端口转接。
    至此mac上搭WebDriverAgent与appium环境已经搭建完成,接下来就是启动appium,运行WebDriverAgent,运行测试脚本进行测试了。
    最新回复(0)