【转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 [email protected]  重新安装 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):

[java] view plain copy

  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

时间: 2024-10-05 09:04:33

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

MAC电脑下Appium 的真机测试环境搭建

本人的环境搭建的情况,MAC电脑一台(macOS Mojave 10.14.4),Xcode 10.2.1   ,自己注册的一个Apple ID 账户,必须你的电脑能连接互联网,最好不要用公司的网络,限制太多,容易掉坑里. 1.安装Homebrew  安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"    卸载 ruby -e &qu

【转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(1) 先安装node-js,然后通过node-js命令安装 Appium     在https://nodejs.org/en/download/ 下载 macOS Installer (.pkg) 安装,

iOS开发——实战篇&amp;Xcode 7真机测试详解

Xcode 7真机测试详解 1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk image 首先,准备好下面的设备机相关软件 MAC版本:OSX10.10.4 Xcode版本:Xcode7 beta5(点击下载) 真机设备:iPad Air(iOS 8.1.3)/iphone 6 2.首先先安装Xcode7,并且运行Xcode,点击左上角菜单Xcode -> Preferences

Xcode 7真机测试详解

1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk image 首先,准备好下面的设备机相关软件 MAC版本:OSX10.10.4 Xcode版本:Xcode7 beta5(点击下载) 真机设备:iPad Air(iOS 8.1.3)/iphone 6 2.首先先安装Xcode7,并且运行Xcode,点击左上角菜单Xcode -> Preferences. 3.设置好版本 4.下载

解决xcode iOS真机调试正常,模拟器失败问题

今天早上遇到xcode的真机可以调试,但是模拟器却爆出一大堆错,提示错误是没有找到引用的代码文件,真机和模拟器的配置都是一样的, 准确来说,应该是除了指令以外,其他都死一样的配置,所以大概是指令配置上的出错的问题.所以我将所有指令从arm64改成armv7, Build Settings ->Vaild Architectures设置成armv7 Build Settings->Architectures设置成armv7 成功解决了!!

真机测试 Thnetwork connection was lost. No profiles for &#39;xxx&#39; were found: Xcode couldn&#39;t find a provisioning profile matching &#39;xxx&#39;. Code signing is required for product type

最近接手了一个新项目,是从外包接手的,结果出现了很多问题,真的很崩溃,崩溃,吐槽一下 问题一:一直请求不到数据,因为外包只做了一版,上架的这个版本是可以显示数据的,但是给我的项目是没有数据的,因为并没有给文档,接口什么的都得自己一遍遍测试,注释也真的很少,到最后发现是接口问题,但是我在浏览器中测试也可以的,为什么呢?一个很重要的原因:我没有加http://,在浏览器中输入后面的接口是可以显示json数据的,就是忘了加http://... 问题二:真机测试出现标题上描述的问题 因为项目中有推送的S

Appium Android测试环境搭建 for Mac

Appium Android测试环境搭建 涉及的资源,工具都很多 ,从网上各种资料查找,整合一下资源,针对小白级别. 1.Appium安装: 转载自:http://www.cnblogs.com/oscarxie/p/3894559.html. 2.Mac配置Android环境变量: 转载自:http://www.jianshu.com/p/84f3baf1682c 3.Mac安装Android模拟器genymotion: 转载自:http://blog.csdn.net/l_215851356

Xcode真机测试could not find developer disk image解决方法

在使用Xcode进行真机调试的时候,有时根据真机的系统不同,会出现could not find developer disk image 错误,这是由于真机系统过高或者过低,Xcode中没有匹配的配置包文件,我们可以通过这个路径进入配置包的存放目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 里面有类似这样的一些文件夹,如果这些文件夹中没有包含我们真机的系统,则不能进行

iOS9.2 xcode 7.1.1真机测试

路径:Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 解决办法: 1>看看哪个朋友的Xcode是7.2的,让他给你发一下这个文件就可以了 2>升级Xcode 将这个文件夹拖到xcode对应位置,运行程序就可以跑在手机上了,但是不受信任--?设置-->通用-->设备管理点击信任就可以真机测试了.