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. 记一次高并发场景下.net监控程序数据上报的性能调优

    最近在和小伙伴们做充电与通信程序的架构迁移.迁移前的架构是,通信程序负责接收来自充电集控设备的数据实时数据,通过Thrift调用后端的充电服务,充电服务收到响应后放到进程的Queue中,然后在管理线程 ...

  2. Java后台实现方法

    Java后台实现方法 首先后台结构分为四个部分(以表schedule为例) entity>mapper>service>controller 1. 在entity里面写好实体,新建目 ...

  3. NYOJ15-括号匹配(二)-区间DP

    pid=15">http://acm.nyist.net/JudgeOnline/problem.php? pid=15 dp[i][j]表示从i到j至少须要加入多少个括号才干满足匹配 ...

  4. iOS 6.0中UIViewController被弃用的一些方法

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 概念:de ...

  5. Mongodb 3.4 + Centos6.5 配置 + mysql.sql转为csv 或 json导入和导出Mongo (64位系统)

    Centos下通过yum安装步骤如下: 声明:相对比那些用源码安装,少了配置和新建log和data目录,这种简单粗暴, ,创建仓库文件, vi /etc/yum.repos.d/mongodb-org ...

  6. [UWP]了解TypeConverter

    1. 前言 TypeConverter是XAML解释器的幕后功臣,它做了大量工作,从WPF诞生以来,几乎每一次XAML的运作都有它的参与.虽然UWP中TypeConverter已经彻彻底底退居幕后,连 ...

  7. Mysql 锁基础

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/53 lock与latch 在数据库中,lock与latch都可以 ...

  8. c#扩展方法的使用

    "扩展方法使您能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型." 1.为什么会有扩展方法 你一定很疑问什么是扩展方法!什么 ...

  9. elasticsearch 源码本地环境搭建

    elasticsearch6.0.0 源码本地环境搭建步骤如下: 1.资源准备 ElasicSearch版本:6.0.0: https://github.com/elastic/elasticsear ...

  10. Windows 7下将Tomcat Java程序设置为Windows Service

    可以参看以下资料: https://jingyan.baidu.com/article/b2c186c89f5127c46ef6ff08.html http://tomcat.apache.org/t ...