appium iOS真机获取剪贴板内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium iOS真机获取剪贴板内容相关的知识,希望对你有一定的参考价值。
参考技术A 参考官方描述,需要打开Springboard,且确保 WDA 可见,以此打开 WDA,然后调用获取剪贴板的接口,最后再返回原来的待测APP:例子:
self.driver.activate_app('com.apple.springboard')
self.driver.find_element_by_accessibility_id('WebDriverAgentRunner-Runner').click()
pasteboard_text =self.driver.get_clipboard_text()
self.driver.activate_app(bundle_id_of_app_to_test) # 此处参数为待测APP的bundleid
Appium+iOS真机环境搭建
安装目录
1.macOS系统 10.14.6
2.xcode 11.3.1
3.appium Desktop 1.15.1
4.node.js
查看版本:node -v
npm
5.cnpm
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
6.sudo cnpm install -g ios-deploy
----不使用Xcode安装和调试iOS应用程序。设计用于处理未越狱的设备。
7.homebrew
--Homebrew或者brew是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件
usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew -v
8.libimobiledevice
--使用本机与苹果iOS设备的服务进行通信的库协议。
brew install libimobiledevice --HEAD #和iOS手机通讯使用
brew install ideviceinstaller # 安装app使用
9.carthage
----Carthage 是用来解决 xcode project 依赖的,下载oc和nodejs依赖。
brew install carthage
查看版本命令:carthage version
10.WebDriverAgent
WebDriverAgent简称WDA。它是由Facebook推出的一款移动端测试框架,基于苹果的UIAutomation。appium基于WebDriverAgent。
git clone https://github.com/facebook/WebDriverAgent
Cloning into \'WebDriverAgent\'... remote: Enumerating objects: 18281, done. remote: Total 18281 (delta 0), reused 0 (delta 0), pack-reused 18281 Receiving objects: 100% (18281/18281), 15.61 MiB | 52.00 KiB/s, done. Resolving deltas: 100% (6909/6909), done.
*运行初始化脚本
首先需要先进入到WebDriverAgent项目的根目录下
# 进入到WDA 根目录 cd WebDriverAgent/ # 运行初始化脚本 ./Scripts/bootstrap.sh
提示:
前提是已经安装了Carthage和npm,官方的文档讲的很清晰,Carthage 是用来解决 xcode project 依赖的,大家可能知道 cocoapod,那你就把 Carthage 理解成和 cocoapod 一样的东西就可以了,可以通过 brew install carthage
安装。npm 是用来构建 Inspector, Inspector 是一个 react 的应用,通过往 WebDriverAgent 发 HTTP 请求,返回页面的结构。
一、安装mac 神器Homebrew工具
1、简介
Homebrew官网 http://brew.sh/index_zh-cn.html
Homebrew是神马
linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red ha有yum,Ubuntu有apt-get
神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Homebrew,Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器
2、Homebrew安装
Homebrew的安装非常简单,打开终端复制、粘贴以下命令,回车,搞定(请放心使用,原汁原味的官方安装方法搬运)
usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ps:不知道为什么执行这个命令有时会返回400,估计可能被墙了,过几分钟重试下一般就ok了,有图有真相
安装完成后执行检查命令安装是否成功
brew -v
Homebrew 0.9.9 (git revision cc10; last commit 2016-06-14)
Homebrew/homebrew-core (git revision 405f; last commit 2016-06-15)
3、Homebrew使用
Homebrew使用没啥好说的了,常用的
搜索软件:brew search 软件名,如brew search wget
安装软件:brew install 软件名,如brew install wget
卸载软件:brew remove 软件名,如brew remove wget
二、安装npm
brew install npm
NPM的全称是Node Package Manager ,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。
三、安装libimobiledevice开源包(IOS开发的另类神器)
1、简介
libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。由于苹果官方并不支持Linux系统,但是Linux上的高手绝对不能忍受因为要连接iOS设备就换用操作系统这个事儿。因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本USB接口library。经常用Linux系统的人一定对libimobiledevice不陌生,但是许多Windows和Mac用户也许就不知道了。事实上,它同iTools一样,都是可以替代iTunes,进行iOS设备管理的工具。因为源码是开放的,可以自行编译,所以对很多开发者而言可以说更为实用
参考:http://www.jianshu.com/p/6423610d3293
2、安装依赖库
指令:brew install libimobiledevice
npm install -g ios-deploy #如果是iOS10以上的系统才需要安装
如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy
四、安装carthage
1、简介
Carthage的目标是用最简单的方式来管理Cocoa第三方框架
参考https://www.cnblogs.com/wendingding/p/5959322.html
Carthage 是用来解决 xcode project 依赖的,大家可能知道 cocoapod,那你就把 Carthage 理解成和 cocoapod 一样的东西就可以了,可以通过 brew install carthage 安装。
2、安装
指令:brew install carthage
五.安装ideviceinstaller
- brew install ideviceinstaller
*查看手机上app的bundleId
- ideviceinstaller -l
安装问题:
1.xcode-select:error:tools \'xcodebuild\' requires Xcode
解决方案:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcodebuild -version命令可以查看当前xcode版本号
2.error: Unable to create directory: /usr/local/lib/node_modules/ios-deploy/build/ios-deploy.build/Release/ios-deploy-lib.build (Permission denied)
EACCES: permission denied, access \'/usr/local/lib/node_modules\'
解决方案:
sudo chown -R $USER /usr/local/lib/node_modules/
给当前用户赋予读写权限
再执行npm install -g ios-deploy
参考:https://testerhome.com/topics/5233
https://testerhome.com/topics/15617
https://www.bilibili.com/video/av71620618
以上是关于appium iOS真机获取剪贴板内容的主要内容,如果未能解决你的问题,请参考以下文章