【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结
Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结
关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路。
在开始iOS真机测试之前,请大家务必 将 Appium 1.6.3 + xcode 8 在iOS模拟器上的环境搭建OK,请参见我的上一篇博文:Appium 1.6.3在Xcode 8, iOS 10.2(模拟器)测试环境搭建经验总结
如果iOS模拟器上的环境OK,再来真机上搭建,要不然 你还是放弃吧。
进入正题 :
首先,上边文章:Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)试环境搭建经验总结 中 第一、第二、第三步 必须结束掉,然后开始,务必!
一、安装相关依赖
(1)安装ios-deploy
npm i -g ios-deploy
不然会执行错误会报错:
[XCUITest] Could not initialize ios-deploy make sure it is installed and works on your system
[XCUITest] Error: Could not initialize ios-deploy make sure it is installed and works on your system
at XCUITestDriver.getIDeviceObj$ (../../lib/driver.js:685:13)
(2)安装libimobiledevice
brew install libimobiledevice --HEAD
二、安装 appium-xcuitest-driver (先卸载在重新安装新版本2.5.3)
原因:appium 默认安装的appium-xcuitest-driver版本有点老,貌似是 2.4.0的版本,老的版本问题,运行测试的时候会提示
debug] [WebDriverAgent] Device: Mar 29 15:29:21 Cheersde-iPhone XCTRunner[2848] <Notice>: Running tests...
[debug][WebDriverAgent] Device: Mar 29 15:29:22 Cheersde-iPhone XCTRunner[2848] <Notice>: Continuing to run tests in the background with task ID 1
[debug] [XCUITest] Waiting for WebDriverAgent server to finish loading...
导致被测试的app launch不起来,一直卡在 [debug][XCUITest] Waiting for WebDriverAgent server to finish loading... 这块
而新的版本appium-xcuitest-driver 2.5.3 就解决了这个问题。
安装方法:
cd /usr/local/lib/node_modules/appium
npm uninstall appium-xcuitest-driver 先卸载
npm install appium-xcuitest-driver@2.5.3 重新安装 2.5.3
三、编译 WebDriverAgentRunner,并安装到 真机(我的是iPhone 5s)
说明:appium是通过手机上WebDriverAgentRunner,来运行测试的,没有这个 在真机上没有办法测试(模拟器上需要着个,不过会自动安装)
3.1用Xcode打开WebDriverAgent,并且编译(编译之前需要一些设置)
(1)进入WebDriverAgent 文件夹,可用如下方法
目录是 /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
(2)选中WebDriverAgent.xcodeproj 文件,用xcode打开,并做如图设置。
见图
编译WebDriverAgent 点击编译按钮,见上图。 提示 Build Success 后编译结束。
3.2 在手机上安装WebDriverAgent (手机和MAC都在同一个网段下)
(1)连接手机和Mac电脑
(2)终端 进入WebDriverAgent文件夹
cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
执行:
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的udid'test
这时候,会在手机上安装 WebDriverAgentRunner 的app。
请注意手机,如果提示是不收信任的开发者,请在设置-通用-设备管理(描述文件)信任你的apple id就可以了。
再次运行
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的udid'test
这样WebDriverAgentRunner在手机上就安装成功了。
四、启动appium
命令行执行 appium
五、编写一个简单的测试用例,Java编写(基于TESTNG):
- <span style="font-family:SimSun;">package com.cheers.qa;
- import io.appium.java_client.ios.IOSDriver;
- import io.appium.java_client.remote.MobileCapabilityType;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.remote.DesiredCapabilities;
- import org.testng.annotations.Test;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.concurrent.TimeUnit;
- public class Cheers_TC1 {
- private IOSDriver wd;
- public Cheers_TC1(){}
- @Test
- public void test1() throws InterruptedException{
- DesiredCapabilities capabilities = new DesiredCapabilities();
- capabilities.setCapability("appium-version", "1.6.3");
- capabilities.setCapability("platformName", "iOS");
- capabilities.setCapability("platformVersion", "10.2.1");
- capabilities.setCapability("deviceName", "iPhone 5s");
- capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
- capabilities.setCapability(MobileCapabilityType.APP, "/Users/***/Documents/workspace/swiftlive_ios_appium/ipa_files/SwiftLive.ipa");
- capabilities.setCapability(MobileCapabilityType.UDID, "iPhone真机UDID");
- try {
- wd =new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
- System.out.println("******************** Cheers Appium iOS 真机测试 **************************");
- wd.close();
- }
- }</span>
然后右键,run as testng,就可以在真机上看到效果
参考文章:
https://testerhome.com/topics/6962
【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结的更多相关文章
- MAC电脑下Appium + python3 + robotframework ios的真机测试环境搭建
本人的环境搭建前的准备,MAC电脑一台(macOS Mojave 10.14.0及以上),Xcode 10.0及以上 ,自己注册的一个Apple ID 账户,必须你的电脑能连接互联网,最好不要用公 ...
- 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结
Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- iOS—Xcode 7真机测试
Xcode 7真机测试详解 1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk im ...
- Xcode 7真机测试详解
1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk image 首先,准备好下面的设 ...
- Xcode 9,真机测试,App installation failed
真机测试:能够build成功,但是 报错App installation failed A valid provisioning profile for this executable was not ...
- Appium移动端自动化测试--搭建模拟器和真机测试环境
详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...
- appium ios 真机自动化环境搭建
近期由于工作需要,本小菜在弄appium+ios+iphone真机的移动自动化,在网上找寻各种资料,发现针对IOS方面的资料少之又少,公司其它部门的弄过的同事也寥寥无几,即使有,也是安卓方面的.本次书 ...
随机推荐
- RT5350的uvc驱动支持yuv格式摄像头成功
请尊重别人的劳动成果 转载请务必注明出处 今天在rt5350的板子上,成功将仅仅支持yuv格式的usb camera摄像头执行了.採用的是mjpeg streamer ,须要libjpeg库支持yuv ...
- 01_GIT基础、安装
1 为什么选择GIT 分布式,强调个体 公共server压力和数据量都不会太大 速度快.灵活 随意两个开发人员之间能够非常easy的解决冲突 离线工作 每日工作备份 能够吃懊悔药 2 GIT基 ...
- MPSOC之5——开发流程BOOT.BIN
需要把若干文件打成大包,烧写到flash或者sd卡中,才能启动运行. 1.petalinux打包 petalinux-packet打包时,需要petalinux的工程,限制太死了,不用. 2 wind ...
- java 对象的初始化过程
PersonDemo p=new PersonDemo("lisi",20);这句话都做了什么事情? 因为new用到了PersonDemo.class,所以会先找到PersonDe ...
- JPA 单向一对多关联关系
映射单向一对多的关联关系 1.首先在一的一端加入多的一端的实体类集合 2.使用@OneToMany 来映射一对多的关联关系3.使用@JoinColumn 来映射外键列的名称4.可以使用@OneToMa ...
- 【ANT】使用ANT自动执行JMeter用例
1.把\apache-jmeter-3.1\extras目录下的build.xml和jmeter-results-detail-report_21.xsl两个文件拷贝到用例所在目录: 2.修改用例名称 ...
- iOS App稳定性指标及监测
一个App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓"千里之堤,溃于蚁穴",一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃.尤其因为 ...
- Servlet过滤器简单探索
过滤器的工作时机介于浏览器和Servlet请求处理之间,可以拦截浏览器对Servlet的请求,也可以改变Servlet对浏览器的响应. 其工作模式大概是这样的: 一.Filter的原理 在Servle ...
- bzoj 4539: [Hnoi2016]树
Description 小A想做一棵很大的树,但是他手上的材料有限,只好用点小技巧了.开始,小A只有一棵结点数为N的树,结 点的编号为1,2,-,N,其中结点1为根:我们称这颗树为模板树.小A决定通过 ...
- ssh简明安全规划
禁止使用口令只允许使用密钥建立 SSH 连接 1.创建 SSH KEY 使用ssh-keygen生成一个密钥对,并且将公钥注册到服务器的 $HOME/.ssh/authorized_keys 文件. ...