可以在 windows 平台上使用 appium 测试 IOS 手机吗

可以在 windows 平台上使用 appium 测试 IOS 手机吗,第1张

首先 Appium 支持 iOS 真机

以下条件必须满足:

苹果开发者账号和开发者证书

苹果设备,确保这个设备已经被配置为开发机器。怎么配置?

签名过的 .ipa 文件或者源代码

A Mac with Xcode and the Xcode Command Line Developer Tools,有 xcode和xcode command line 的 苹果系统。别来问我,windows 怎么测试 iOS 应用。

Provisioning Profile

再次强调真机需要有效的开发分发证书和开发的 Provisioning Profile。

你的应用需要签名。Appium 会参试使用 Fruitstrap 安装应用。

但是使用 xcode 安装到真机会方便很多。

拓展: 什么是 Provisioning Profile?

运行

要指定真机运行有两种方式:

appium 启动的时候,指定 udid 和 app bundle appium -U --app

或者在脚本里指定两个 desired capability

desired_capabilities={

'app':'com.xxx.iphone',

'udid':'70643e56c1b0f3c3132c44c87e433a48b5531ee6',

'platformName': 'iOS',

'deviceName': 'iPhone'

})

注意: 如果设备中未安装 app 可以指定 ipa 地址,如果安装了,

则指定 bundle ID。

所以对于第一种情况,代码可以这样写:

self.driver = webdriver.Remote(

command_executor='',

desired_capabilities={

'deviceName':'',

'platformName': 'iOS',

})

对于第二种情况,代码可以这样写:

app = "io.appium.TestApp"

self.driver = webdriver.Remote(

command_executor='',

desired_capabilities={

'deviceName':'',

'platformName': 'iOS',

'app': app,

'udid': 'cc6bcd6a94aeb8490924dd05c5b318bfbfafb3bb'

})

调试的思路

确保 UDID 的正确,是真机的 UDID。(20+ 字符串)

确保在模拟器上已经能运行无误了。

直接使用 Instruments 看看是否能在真机上运行。有些情况连 xcode 的 instruments 都不能在真机上调试,那更别谈 appium 了

确保运行 appium 用例前, instruments 没有启动过。看看有没有 instruments 的进程。

目前 1.2.2 的坑

目前 appium 1.2.2 上运行 iOS 真机测试的话,可能会遇到如下的错误:

info: [debug] Starting iOS device log capture via deviceconsole

error: iOS log capture failed: spawn ENOENT

info: [debug] Cleaning up appium session

error: Failed to start an Appium session, err was: Error: spawn ENOENT

info: [debug] Error: spawn ENOENT

at errnoException (child_process.js:1000:11)

at Process.ChildProcess._handle.onexit (child_process.js:791:34)

info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: spawn ENOENT)","code":"ENOENT","errno":"ENOENT","syscall":"spawn","origValue":"spawn ENOENT"},"sessionId":null}

info: <-- POST /wd/hub/session 500 1780.745 ms - 197

这是因为在 /usr/local/lib/node_modules/appium/build/deviceconsole/ 下面缺失了 deviceconsole。已经有 bug 追踪了。

解决方法如下:

到该目录底下 cd /usr/local/lib/node_modules/appium/build/deviceconsole/

打开这个deviceconsole project。 open deviceconsole.xcodeproj

重新 build 一把。把 build 出来的 deviceconsole,复制到 /usr/local/lib/node_modules/appium/build/deviceconsole/去。

然后重新运行 Appium

APP自动化测试appium环境怎么搭建?1

/12

下载安装node.js (注意 *** 作系统,32位,64位)。安装完成后,检查是否安装成功:cmd, 输入node -v , 显示安装版本信息,则安装成功,如下图所示

2

/12

安装JDK配置环境变量

JDK安装,以及环境变量设置

下载eclipse (注意 *** 作系统,32位,64位),Mars版。

3

/12

配置Android SDK环境

下载Android SDK,下载地址www.androiddevtools.cn,如下图所示:

4

/12

安装保证Level 17或以上版本 api,如下图所示:

5

/12

Android *** 作系统选择安装用于模拟机,如下图所示:

6

/12

配置环境变量

a>新增变量:ANDROID_HOME,设置值为安装目录: l例如 E:\android-sdk

b>Path中新增参数:%ANDROID_HOME%\tools%ANDROID_HOME%\platform-tools

7

/12

验证是否安装配置成功

cmd: 输入 android, d出SDK Manager窗口。

8

/12

ADT安装

打开eclipse,help>install new software, 输入https://dl-ssl.google.com/android/eclipse

下载时间会比较久,也可以考虑直接下载后本地安装,如下图所示:

9

/12

安装完成,重启Eclipse,如下图所示:

10

/12

安装Appium,下载: http://appium.io,如下图所示:

11

/12

设置环境变量

Appium目录和他的bin目录都加入环境变量PATH:例如

APPIUM_HOME: E:\App\Appium

Path: %APPIUM_HOME%\node_modules\.bin

12

/12

运行appium-doctor来验证Appium的所有依赖是否配置正确。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6653347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存