Appium 客户端 V1.20.2(注意升级最新版本!!低于该版本可能有问题)
tideviceV0.3.3(参考资料:https://testerhome.com/topics/27758)
iOS 设备 iPhone7(12.4.1)已安装上 wda
iTunesV12.11
1.Appium 客户端到官网下载安装即可
2.tidevice 安装
该工具是用 Python 写的,依赖 Python3.6+
命令安装方法
pip3 install -U tidevice
命令验证是否安装成功:(有版本信息返回即正常)
tidevice -v
3.插上 iOS 设备
命令查看所有连接上的设备命令(有设备 udid 信息返回即正常)
tidevice list
查看个人设备上已安装 wda 的 bundleId
tidevice applist
4.命令启动 wda
tidevice -u(设备 udid)wdaproxy -B(wda 的 bundleId) --port 8100
例:
正常情况
访问:http://127.0.0.1:8100/status
有返回设备信息即正常
大佬 wda 是 WebDriverAgent 吗?,,wda 可以打包成.ipa 文件吗
不是大佬, wda 是 WebDriverAgent, wda 可以打包成.ipa 文件,(包直接发出来也没用,要重签名才能安装到自己的设备)
tidevice 这个事什么呀
我用的是 tidevice+airtest+wda,感觉比较好用,但是 wda 需要用 mac 的 xcode 编译到手机上,感觉还是脱离不了 mac 呀
airtest 我试过也是可以,看个人。 tidevice 官方已说 wda 已安装到手机就可以脱离 Mac,我觉得,如果完全没有 Mac 的用户,可以装 Mac 虚拟机/让有 Mac 的开发,帮忙装下 wda, 其实只要装一次,基本后面就不会再需要 Mac.
WebDriverAgent.ipa 在早期版本里,我昨天还下载过,重签我是直接用 WebDriverAgent 源码项目找开发,帮忙安装 wda 的,也很快。
是的!我看过 0.1.3 之前是有 WebDriverAgent.ipa 的,我也是用 WebDriverAgent 源代码运行到手机上,但老想搞成 ipa 完全脱离 mac 电脑
请问这种情况怎么处理?
如果其他环境配置跟我一致,唯一区别就是设备的版本,我是 12.4.1,你高版本的 14.2 我没试过,你先换低版本设备试下
试了一下,切实可以,楼主牛啊
{
"automationName": "XCUITest",
"platformName": "iOS",
"platformVersion": "",
"deviceName": "iPhone 12 Pro",
"bundleId": "",
"udid": "",
"newCommandTimeout": "3600",
"skipLogCapture": "true",
"webDriverAgentUrl": "http://localhost:8100",
"usePrebuiltWDA": "true",
"useXctestrunFile": "false"
}
Error: connect ENOENT /var/run/usbmuxd ,想问下报错这个是啥意思咋解决
不稳定,执行的时候挂了
remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Unable to start WebDriverAgent session because of xcodebuild failure: An unknown server-side error occurred while processing the command. Original error: Could not proxy command to the remote server. Original error: read ECONNRESET Make sure you follow the tutorial at https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md. Try to remove the WebDriverAgentRunner application from the device if it is installed and reboot the device.
我目前使用没有发现不稳定/提示 WebDriverAgentRunner 要重装。 从 wda 提示要重装,个人猜测是不是安装 wda 证书问题 (我是用企业证书)
ios 14.2 实验成功,跑 case 正常
大佬,求助哇,启动 appium 的时候报 Session has been terminated,会话已终止。appium 和 tidevice 版本跟您一样,我的是 iphone6,12.4.8 版本,appium 配置一致,使用真实 IP,命令启动 wda 也成功 不知道怎么搞了。
问下楼主,我找开发安装时,schema 选择 WebDriverAgentRunner 后,开发说无法编译安装,如下截图:
很赞呀,加个精让更多有需要在 windows 下跑 ios 自动化的同学看到。从评论看,appium 版本是有一定要求的,建议正文里强调一下这个点?
@codeskyblue tidevice 的 readme 里可以考虑加上这个,引导有需要的同学过来这里了解详细步骤?
1.确定选择了运行证书后,操作 2
2 修改 Bundle ID(可任意取/自己已申请过的 Bundle ID)
3,运行
在运行 WebDriverAgentRunner 前提,必须更新 WebDriverAgent 依赖,操作如下
切换到 appium-webdriveragent 目录,执行 sh ./Scripts/bootstrap.sh 命令
只支持一个设备嘛?如果插入多台设备执行 tidevice wdaproxy -B 会提示 More then 2 devices detected。设备比较多又不想每台设备都启动一个代理
tidevice -u UDID xctest -B com.facebook.wda.WebDriverAgent.Runner -e USB_PORT:8200
这样?
有哪位大佬遇到过 这个 问题
Failed to create WDA session (An unknown server-side error occurred while processing the command. Original error: Could not proxy command to the remote server. Original error: connect ETIMEDOUT 192.168.0.107:8100). Retrying...
浏览器可以正常访问,appium 启动 连不上一直
我是 mac 下面驱动的。appium 驱动 wda,从 iOS14 系统里启动 app 后,是超级慢,根本不能用。。
终于跑通了,不知道为啥楼主没配置"automationName": "XCUITest"这个参数怎么可以执行的,我的启动参数完整版配置如下,原文参考:https://sutune.me/2021/04/20/tidevice/
{
"udid": "6dd5e55bf4204cd5ad8042dc4ecb2xxxxxx",
"automationName": "XCUITest",
"deviceName": "iphone8",
"platformName": "iOS",
"platforVersion": "12.1.2",
"bundleId": "com.hxxxxx",
"webDriverAgentUrl": "http://localhost:8200",
"usePrebuiltWDA": "true",
"useXctestrunFile": "false",
"skipLogCapture": "true",
"automationName": "XCUITest"
}
是的,确实我没有配置 automationName 也可以运行成功(本人测试过),其他人也是有成功情况。我还是建议加 automationName 参数。感谢分享链接
老哥,看了你之前 sjk_swiftmonkey 的帖子,问你一个问题哈,你现在还跑得起来吗,我这边运行一直不成功,bundleIdentifier 都修改了,运行起了 sjk-monkey 程序(没有任何报错),但是整个屏幕黑红两块,待测的 app 也没有启动,可以看看吗~
我在使用 tidevice 执行 3 台并行的时候,运行一段时间,会出现这样的错误:
1,[D 210425 17:06:40 _wdaproxy:91] [udid] WDA is not response, check again after 10s
2,connect to device error: UsbmuxReplyCode.ConnectionRefused
3,selenium.common.exceptions.InvalidSessionIdException: Message: Session does not exist
请问这是我安装的 webdriveragent 有问题还是别的问题,有遇到过类似情况吗
补充一个截图:
大家好,咨询个问题,windows 下面执行 tidevice+appium 报如下错误,各位大佬麻烦帮忙解决下:
[debug] [35m[XCUITest][39m UnknownError: An unknown server-side error occurred while processing the command. Original error: 'bundleId' desired capability not provided
[debug] [35m[XCUITest][39m at errorFromMJSONWPStatusCode (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:767:10)
[debug] [35m[XCUITest][39m at ProxyRequestError.getActualError (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:661:14)
[debug] [35m[XCUITest][39m at JWProxy.command (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:272:19)
[debug] [35m[XCUITest][39m at processTicksAndRejections (internal/process/task_queues.js:85:5)
[debug] [35m[XCUITest][39m Unable to start WebDriverAgent session because of xcodebuild failure: An unknown server-side error occurred while processing the command. Original error: 'bundleId' desired capability not provided Make sure you follow the tutorial at https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md. Try to remove the WebDriverAgentRunner application from the device if it is installed and reboot the device.
这个报错是什么原因啊?
感谢,在 windows 上连接成功了
我在进行多设备操作的时候,出现了前面有人提到过的报错,截图如下,是在找不到解决方案,借楼问一下:
单独通过 tidevice -u 00008030-00xxxxxxxxxxx wdaproxy --port 9302
来启动就是正常的。
代码里我是通过 cmd 模式来启动命令:
def start_wdaproxy(udid='', local_port=8100):
cmd = "tidevice -u " + udid + " wdaproxy --port " + str(local_port)
logger.info("当前cmd是: {}", cmd)
os.popen(cmd)
想问下大佬们该怎么处理?
想问一下我点连接后 appium 直接闪退了可能时什么原因呢,Appium 客户端 V1.20.2 是指 server 的版本还是 desktop 的版本呢
想请问一下这个问题是怎么解决的呀
请教下虽然启动成功,也可以连接进行自动化了,但出现上图这个异常,可有见过?
就是想问一下,我在 yaml 文件里面配置的这些,然后 代码 是和安卓自动化测试一样吗,用 unittest 框架,然后 通过 uiautomatorviewer 还是 appium 定位去书写代码嘛
报错,xcrun 大佬 请看一下,我是 win 系统,到这就过不去了,麻烦了麻烦了
http://127.0.0.1:8100/status这个网页可以打开
大佬,最近 2 天安装 https://github.com/EasilyTest/stf 遇到里面 Issue1 的问题,
Issue1 https://github.com/EasilyTest/stf/issues/1 是你这边提的吗?我遇到差不多的报错,请问哪些依赖没下全啊?怎么重新下载?
本人小白。。。
依赖下全命令:进入本项目目录,执行 cnpm install 或者 npm install(有时网络问题等,下载有失败情况导致下载不全)下载完成的文件都在 node_modules 里,我的本地已经运行成功的完整版本直接给你(包含 node_modules)node-V17.9.0
网盘:链接:https://pan.baidu.com/s/1ZIynDSTTLBo77g9Q64rVJw?pwd=bi7a 提取码:bi7a
谢谢大佬,前天 cnpm install 部署好了,是在 Ubuntu Server 18.04 下,安卓多控正常使用,但 iPhone 设备检测不到,排查到问题是 ios-provider 的进程没成功启动,mrx1203/stf 作者说这个 ios-provider 只能在 macOS 下启动,你这边是什么系统下接入 iOS 设备的啊?是 macOS 吗?
这 2 天在 macOS Ventura 13.2 下重新部署了 https://github.com/EasilyTest/stf ,
ios-provider 进程能成功启动了,但又遇到了新的报错。。。
2023-04-06T07:49:07.644Z INF/ios-device:plugins:display 6525 [d198b1b24c9e0b5748f044b81abbd618278e09ec] Reading display info
dyld[6525]: missing symbol called
不知道怎么查了。不知道缺什么依赖还是系统哪里不兼容?
主要是上面项目中关于接入 iOS 设备的描述不太详细。
其中第 4 步说明如下:
这步操作主要是构建安装到 iPhone 的 WebDriverAgent 吗?
我手机上已经安装了开发提供的签名过的 wda 了,这步不需要做了吧?
大佬有详细一点的 iOS 设备接入配置文档吗?
这步操作主要是构建安装到 iPhone 的 WebDriverAgent 吗?:是的,是有版本兼容问题需要注意,
苹果手机系统也不要当前最新的,建议:你这个是 STF 群控版,新手可以先搭建,STF 单控的 - 支持 iOS 版本,搭建成功再搭建群控版顺手多,单控至少有问题还有些资料查。我好久没碰这个 STF 了,只能给这点建议。
谢谢大佬,暂时先不弄这个 STF 了,没看到怎么更新,相关资料太少了,对新手不太友好。
今天部署了一下 Sonic 单控 iOS 比较顺利,但群控功能作者好像说不开发了,得自己想办法二次开发了。。。
新手也难搞。。
window 环境下 ios appium 相关环境已部署好了,也可以执行起来了,但是执行过程中会出现执行 APP 闪退,请问这个是什么问题导致的,如何解决呢,报错日志:ios appium The application under test with bundle id is not running, possibly crashed
1 有可能真的 APP 有问题崩溃手动操作确定:https://www.cnblogs.com/shenxiaolin/p/16326258.html
2.启动和每个操作间加延迟,如 5 秒
1.手动操作同样的步骤没有闪退,用爱思助手查看实时日志,导出后搜索,crash 没有搜到相关日志
2.个操作间加了等待时间就可以正常执行了,但不是很明白,为啥加了等待时长之后就可以正常执行,没加之前就会出现闪退的情况呢
不过总之问题已解决,感谢楼主~
不加延迟,点击太快,页面加载还没完成或者元素准备还没好,就操作下一步,会导致异常。所以加延迟就正常运行了
Appium 使用"隐式等待"机制来等待元素加载和操作完成,可以了解下
手机启动 WebDriverAgent 后,执行程序一段时间后,手机会发烫,而且长时间跑 APP,APP 会崩溃退出,有人遇到这样的情况吗,求解
大佬,请问一直报 request error: ('Connection aborted.', MuxReplyError()),怎么解决?
很久没关注相关了,猜测解决思路,wda 启动失败,我之前正常启动的 wda 的 bundleId 格式和你的后缀格式有差异,对比下
试下这里的 wda 项目https://github.com/appium/WebDriverAgent
大佬,你的问题解决了吗?我也出现了这个问题 tidevice 启动 wda 报错 UsbmuxReplyCode.ConnectionRefused,我的 BundleID 是 com.facebook.WebDriverAgentRunner.xctrunner.UF8XUZ8UX9,不知道是不是后缀格式问题
@Morii 大佬 我遇到一样的问题,请问你是怎么解决的