iOS自动化之WDA(WebDriverAgent)安装

iOS自动化之WDA(WebDriverAgent)安装1、WDA介绍WebDriverAgent在iOS端实现了一个WebDriverserver,借助这个server我们可以远程控制iOS设备。你可以启动、杀死应用,点击、滚动视图

大家好,又见面了,我是你们的朋友全栈君。

1、WDA介绍

WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备。你可以启动、杀死应用,点击、滚动视图,或者确定页面展示是否正确。

facebook的WDA在iOS 10 时代苹果已经废弃了,目前依然在更新的是Appium官方的WDA,官方链接如下:https://github.com/appium/WebDriverAgent,安装配置和facebook类似,配置好签名证书即可,不需要修改代码,也不需要修改Bundle ID.如果想查看iOS的应用界面,安装使用Appium的Inspector即可

2、部署环境

OS: 11.6

Xcode:13 (需要系统更新最新才能在appstore下载xcode)

3、安装步骤

1、安装基础依赖
brew install git

brew install carthage

2、下载WDA 
安装appiium就带有WebDriverAgent (/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent)

3、执行bootstrap.sh

./Scripts/bootstrap.sh

ERROR in ./js/app.js
Module parse failed: /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Inspector/js/app.js Unexpected token (67:6)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (67:6)
at Parser.pp$4.raise (/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Inspector/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
at Parser.pp.unexpected (/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Inspector/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)

解决方法:cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Inspector/webpack.config.js

webpack.config.js 文件里去掉 exclude: /node_modules/(忽略node_modules)

修改前:

module: {
    loaders: [
      { test: /\.js?$/, loaders: ['babel-loader'], exclude: /node_modules/ }, 
      { test: /\.js?$/, loaders: ['babel-loader'] },
      { test: /\.css?$/, loader: 'style-loader!css-loader' },
    ]
  },

 修改后:

loaders: [
      { test: /\.js?$/, loaders: ['babel-loader'] },
      { test: /\.css?$/, loader: 'style-loader!css-loader' },
    ]

重新执行 ./Scripts/bootstrap.sh

 

4、打开WebDriverAgent工程配置

终端cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent,通过open  WebDriverAgent.xcodeproj(xcdoe打开方式)

1、ios自动化所需的WebDriverAgent需要签名产生,找开发要p12证书和描述文件.mobileprovision

  1、点击p12输入密码之后,要先选中登陆,导入p12文件即可

  2、双击.mobileprovision描述文件,会自动安装到xcode中

2、选择WebDriverAgent进入

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 

 

 

3、除了tv_os的target都进行重签配置,如下图所示修改配置

WebDriverAgentLib 如下图:

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 

 

WebDriverAgentRunner 配置如下图:

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 检查WebDriverAgentRunner-signing&Capabilities

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 

 4、选择product,scheme选择WebDriverRunner

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 

 5、构建项目build

选择iphone

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 点击build

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 

6、检测是否安装wda成功

由于国内手机设置需要转发下端口,命令行执行:iproxy 8300 8100

然后再浏览器里请求:http://localhost:8300/,如果返回一串json字符,那么WDA安装成功了

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

http://localhost:8300/status可以查看当前设备的状态,获取与wda通信session id

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

 

http://localhost:8300/inspector 打开WDA 的inspector,在该界面点击home则手机返回主页面

<span role="heading" aria-level="2">iOS自动化之WDA(WebDriverAgent)安装

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154301.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 使用VLC搭建视频直播服务器[通俗易懂]

    使用VLC搭建视频直播服务器[通俗易懂]去年我们信息之夜我们进行过视频直播服务,当时我们使用了WMS(WindowsMediaServer)实现了这个服务,但是编码是微软的WMV,因而像iPhone/Android这样的智能手机无法观看,今天我给大家带来一种更简便的实现方式,并帮助所有平台用户都可以观看。首先介绍一下,今天我们的工具VLCPlayer。VLC主页:http://www.videolan.org VLC

  • CTK框架介绍

    CTK框架介绍转(http://blog.csdn.net/xinqidian2015/article/details/50537325)CTK插件框架可以简单的描述为C++的动态组件系统DesignCTK插件框架的设计有很大的灵感来自OSGi并且使得应用程序由许多不同的组件组合成一个可扩展模型。这个模型允许通过那些组件间共享对象的服务通信。框架的分层模型被展示在图片1中包括:P

  • 流利说文本level6_流利说level4原文

    流利说文本level6_流利说level4原文Level6Unit11/4ListeningLesson1Harry’sInjury1-2DialogueLesson3Lovers’QuarrelReadingLesson4TheBoyWhoCriedWolfLesson5SurvivalintheOutback2/4ListeningLesson1T…

  • GIT生成SSH-KEY公钥放到服务器免密登录「建议收藏」

    GIT生成SSH-KEY公钥放到服务器免密登录

  • 究竟什么是Java虚拟机(JVM)?

    究竟什么是Java虚拟机(JVM)?我们都知道,在Windows上,软件包后缀有exe,而苹果的MacOSX系统上没有安装exe。类似地,MacOSX系统上的软件安装包是dmg后缀,不能安装在Windows系统上。为什么不能安装不同系统上的软件,因为操作系统的底层实现是不同的。对于Windows系统,exe后缀的软件代码被编译成能被Windows系统识别的机器代码。对于MacOSX系统,最后将DMG后缀的软件代码编译为M…

  • SaveFileDialog_save文件用什么修改

    SaveFileDialog_save文件用什么修改c#获取要保存文件的对话框,用SaveFileDialog类。具体用法很简单分享一下吧,对于初学者可能有用//可能要获取的路径名stringlocalFilePath=“”,fileNameExt=“”,newFileName=“”,FilePath=“”;SaveFileDialogsaveFileDialog=newSaveFileDialog();//设置文件类型//书写规则例如:txtfiles(.txt)|.txtsaveFileDialog.Filter

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号