app-inspector 在浏览器中显示手机定位界面简单的流
因为是新手,所以跳 着 玩 弄 ,下面介绍的是用真机 把手机界面 在浏览器中显示出来
当然有很多介绍得还可以的网站 app-inspector : 我不是用的webDriverAgent,用的XCTest(应该是xcode自带的)
配置/环境介绍:
【1、电脑环境 Mac:10.12.4 】【2、 Xcode : 8.3.2 】 【3、iPhone: 10.3.2】
此时你要会终端命令:【下面的指令,只要是-bash: XXXX: command not found ,你就是需要下载的】
下载ruby
下载brew
下载node【我是用的brew安装的brew install node】【使用node -v 查看版本,我的版本:v6.11.1】
下载npm 【暂时没有时间重新试,可能安装node后npm也可以用了】
下载macaca【
卸载原有的macaca:
1、npm uninstall macaca-cli -g
2、npm cache clean
安装:npm install macaca-cli -g //官网有,这是安装macaca的指令
】
下载macaca-doctor 【 我似乎采用的npm安装的,如果需要知道npm有木有就使用:npm search XXXX 】
上面就是环境搭建,环境变量设置,全部绿色才算完成,(安装xcode || carthage || java sdk【 配置全局环境变量,下面有介绍】 || android sdk 【 配置全局环境变量,下面有介绍】|| adb【 配置全局环境变量,下面有介绍】|| android device platform ||可能有iproxy,不记得了 ) 里面之前我存在三个问题困扰了我很久,(1)是node的版本问题,(2)是ios-webkit-debug-proxy的安装 (3)是gradle的安装
(1)的解决办法直接去nodejs 官网下载最新版本,然后把里面的文件一个一个替换掉(包括npm也替换掉了,它们好像是绑在一起的)其中你可能需要的指令:1、查找该指令的位置:which node; 【w hitch XXXX就是找存在哪儿的,经常用得到】 2、node -v
(2) 其实npm里面有ios-webkit-debug-proxy【使用了nom search XXXX , 可以查到】,但是一直下载不了,反正nom init 方法也用了(为了设置)
===============之前的错误====================================
/Users/mac
├── ios-webkit-debug-proxy@0.0.3
└─┬ node-simctl@3.8.0
└─┬ appium-support@2.8.2
├── glob@6.0.4
└── lodash@4.17.4
npm WARN enoent ENOENT: no such file or directory, open '/Users/mac/package.json'
npm WARN mac No description
npm WARN mac No repository field.
npm WARN mac No README data
npm WARN mac No license field.
================到最后的错误(我实在不知道哪儿错了)======================
appium-sample-code@1.0.0 /Users/mac/Documents/测试/pyrthonProject/sample-code-master
└── ios-webkit-debug-proxy@0.0.3
npm WARN appium-sample-code@1.0.0 license should be a valid SPDX license expression
================于是放弃npm安装,使用brew安装于是就成功了================
然而,现在依然是这样,(即使我配置了《全景变量》)
-bash: ios-webkit-debug-proxy: command not found
|说一下全局环境变量,我的是在根目录下:~ 创建的.bash_profile文件,在终端:
| ~XXXX $ open -e ~/.bash_profile //如果跳出来一个新窗口则可以进行编辑了,我的:
export PATH=${PATH}:/usr/local/Cellar/ios-webkit-debug-proxy/1.7.1/bin/ios_webkit_debug_proxy
| ~XXXX $ source ~/.bash_profile //使之生效,相当于运行(我的理解)
于是你可以在终端中检查一下了:mocaca doctor
如果ios-webkit-debug-proxy 这个是绿色说明成功了
(3)使用 homebrew 安装 :|~XXXX $ brew install gradle 【除了需要开启代理<VPN>来进行安装,因为会断开:
curl: (56) SSLRead() return error -9806
Error: Failed to download resource "gradle"
Download failed: https://services.gradle.org/distributions/gradle-4.0.1-all.zip
,木有出现其他的特殊错误】
在这里应该就差不多了,运行macaca doctor吧!全绿色吧?
现在就差最后一个了 app-inspector 还没有安装
~XXXX $ npm install app-inspector -g
在这里差不多该准备的都准备了
打开两个终端窗口:
1、~XXXX $ macaca server --verbose //启动服务
2、~XXXX $ app-inspector -u <设备的 udid> --verbose
然后我出现了这个错误
>> xctest-client.js:172:14 [master] pid:24374 No profiles for 'XCTestWDRunner.XCTestWDRunner.MBP-vicki753.lan' were found: Xcode couldn't find a provisioning profile matching 'XCTestWDRunner.XCTestWDRunner.MBP-vicki753.lan'.
Code signing is required for product type 'UI Testing Bundle' in SDK 'iOS 10.3'
Test operation was canceled. If you believe this error represents a bug, please attach the log file at /Users/mac/Library/Developer/Xcode/DerivedData/XCTestWD-evljajykmolwzobrozpobiggeeea/Logs/Test/B345F4C1-8E41-46FF-B14F-4ED75E9D668F/Session-XCTestWDUITests-2017-07-18_161122-he1i1g.log
** TEST FAILED **
这个错误就是iOS工程项目里面的证书问题,来,先找到它
然后将自己的证书啥的都弄好吧,记得改bundle id(属于iOS问题,请查阅其他的资料)
改完之后就可以重新在此运行了,我这里运行后直接打开safari 网址
Macaca : 介绍的官网 :https://macacajs.github.io/introduction
Macaca is an open-source automation test solution for native, hybrid, mobile web and web application on mobile and desktop platforms.
终于见到会简单介绍一下native\hybrid的了
1、Native means apps written with iOS or android SDKs.
Mobile web means apps written in HTML, CSS and Javascript and displayed via a mobile device browser such as Safari, Chrome or Webview in iOS and android.
Hybrid is apps created by webview in native app.
Web means apps written in HTML, CSS and Javascript.
Macaca is “cross-platform”. It means you can use the same API to write test scripts, and same test scripts to test your apps running on devices such as iOS, Android or desktops.
Macaca doesn’t limit what languages you will use to write your tests.