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):

  1. <span style="font-family:SimSun;">package com.cheers.qa;
  2. import io.appium.java_client.ios.IOSDriver;
  3. import io.appium.java_client.remote.MobileCapabilityType;
  4. import org.openqa.selenium.By;
  5. import org.openqa.selenium.WebElement;
  6. import org.openqa.selenium.remote.DesiredCapabilities;
  7. import org.testng.annotations.Test;
  8. import java.net.MalformedURLException;
  9. import java.net.URL;
  10. import java.util.concurrent.TimeUnit;
  11. public class Cheers_TC1 {
  12. private IOSDriver wd;
  13. public Cheers_TC1(){}
  14. @Test
  15. public void test1() throws InterruptedException{
  16. DesiredCapabilities capabilities = new DesiredCapabilities();
  17. capabilities.setCapability("appium-version", "1.6.3");
  18. capabilities.setCapability("platformName", "iOS");
  19. capabilities.setCapability("platformVersion", "10.2.1");
  20. capabilities.setCapability("deviceName", "iPhone 5s");
  21. capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
  22. capabilities.setCapability(MobileCapabilityType.APP, "/Users/***/Documents/workspace/swiftlive_ios_appium/ipa_files/SwiftLive.ipa");
  23. capabilities.setCapability(MobileCapabilityType.UDID, "iPhone真机UDID");
  24. try {
  25. wd =new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
  26. } catch (MalformedURLException e) {
  27. e.printStackTrace();
  28. }
  29. wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
  30. System.out.println("******************** Cheers Appium iOS 真机测试 **************************");
  31. wd.close();
  32. }
  33. }</span>

然后右键,run as testng,就可以在真机上看到效果

参考文章:
https://testerhome.com/topics/6962

【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结的更多相关文章

  1. MAC电脑下Appium + python3 + robotframework ios的真机测试环境搭建

    本人的环境搭建前的准备,MAC电脑一台(macOS Mojave 10.14.0及以上),Xcode 10.0及以上   ,自己注册的一个Apple ID 账户,必须你的电脑能连接互联网,最好不要用公 ...

  2. 【转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模拟器上的问题很多,本人也差点放弃 ...

  3. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  4. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  5. iOS—Xcode 7真机测试

    Xcode 7真机测试详解 1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk im ...

  6. Xcode 7真机测试详解

    1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk image 首先,准备好下面的设 ...

  7. Xcode 9,真机测试,App installation failed

    真机测试:能够build成功,但是 报错App installation failed A valid provisioning profile for this executable was not ...

  8. Appium移动端自动化测试--搭建模拟器和真机测试环境

    详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...

  9. appium ios 真机自动化环境搭建

    近期由于工作需要,本小菜在弄appium+ios+iphone真机的移动自动化,在网上找寻各种资料,发现针对IOS方面的资料少之又少,公司其它部门的弄过的同事也寥寥无几,即使有,也是安卓方面的.本次书 ...

随机推荐

  1. tensorflow 自定义损失函数示例

    这个自定义损失函数的背景:(一般回归用的损失函数是MSE, 但要看实际遇到的情况而有所改变) 我们现在想要做一个回归,来预估某个商品的销量,现在我们知道,一件商品的成本是1元,售价是10元. 如果我们 ...

  2. jmeter入门系列文章二 版本号介绍

    转载时请标注源自:http://blog.csdn.net/musen518 jmeter版本号公布频率一般为1年,每年会有一个版本号升级 截止2015年底,最新版本号为2.13,最新最全的更新信息一 ...

  3. 【树状数组】POJ 2352 Stars

    /** * @author johnsondu * @time 2015-8-22 * @type Binary Index Tree * ignore the coordinate of y and ...

  4. Android 获取手机信息

    private void initData() { TelephonyManager mTm = (TelephonyManager) getActivity().getSystemService(C ...

  5. mock.js的真实数据模拟

    哈哈,怎么说,这应该是我的第一个随笔了,毕竟前端之路上一直在学习并且各位大神们的经验,虽然也有不少的坑,但是总是收获比较多,所以我也想把一些收获记录下来,有需要的可以参考参考. 网上看了不少大神很多例 ...

  6. 知名互联网公司校招 Java 开发岗面试知识点解析

    天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...

  7. gcc编译相关tips

    http://blog.csdn.net/benpaobagzb/article/details/51364005 静态库链接时搜索路径顺序: ld会去找GCC命令中的参数-L 再找gcc的环境变量L ...

  8. mongodb设置用户名和密码

    需求:我们需要在一个mongodb上面新建两个数据库,每个数据库的用户名和密码不一样,讲道理来说我们直接设置admin,就可以控制所有的数据库,不过用起来总是感觉有各种问题,目前还不太熟悉mongod ...

  9. bzoj 3999: [TJOI2015]旅游

    Description 为了提高智商,ZJY准备去往一个新世界去旅游.这个世界的城市布局像一棵树.每两座城市之间只有一条路径可 以互达.每座城市都有一种宝石,有一定的价格.ZJY为了赚取最高利益,她会 ...

  10. 测试xss

    <script>window.onload=function(){ alert('加载完毕');}</script>