gpt4 book ai didi

ios - 为什么 Calabash 无法在模拟器中与我的 iOS 应用交互?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:50 26 4
gpt4 key购买 nike

我正在将 Calabash 集成到一个大型项目中。我让 Calabash 在测试应用程序中工作,所以我知道我的安装和环境设置正确。我正在使用可访问性标签和 .feature 文件来点击按钮并在字段中键入文本。效果很好。

但是,我的“真实”项目更大更复杂。即使配置与我的测试应用程序相同(请参阅下面的统计信息),当我在真实应用程序上运行一个简单的 .feature 文件时,我得到的结果不稳定:大约 80% 的时间,它甚至在通过“给定”.feature 文件的行,并最终超时并显示此消息:

Retrying.. HTTPClient::ReceiveTimeoutError: (execution expired)

我注意到,在这些情况下,当我尝试使用鼠标与之交互时,应用程序完全没有响应。它似乎已经卡住了。还有一个应该出现但从未出现的 UIAlertView。请注意,当我从 XCode(相同的“-cal”目标)启动模拟器时,它从不卡住。我可以与之交互,出现 UIAlert,一切正常。

另外 20% 的时间,它会使其更深入我的 .feature 文件 - 它会有效地通过“给定”行,可能还有其他行,只要它们不涉及与屏幕交互。任何点击或键入命令都会导致它挂起并最终超时,并显示与上述相同的“执行已过期”消息。

经过大量调查,我消除了此应用程序和我的测试应用程序的环境/配置之间的任何可能差异,并确定我的应用程序中一定有 Calabash 不喜欢的地方!不幸的是,我对 Calabash 太陌生了,不知道从哪里开始寻找。任何帮助将不胜感激。

根据 Calabash 团队的要求进行诊断:

> xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
> xcodebuild -version
Xcode 6.1
Build version 6A1052d
> calabash-ios version
0.11.3
> calabash.framework/Resources/version
0.11.3
irb(main):006:0> server_version
{
"app_version" => "0.10",
"outcome" => "SUCCESS",
"app_id" => "<redacted>",
"simulator_device" => "iPhone",
"version" => "0.11.3",
"app_name" => "<redacted>",
"iphone_app_emulated_on_ipad" => false,
"4inch" => true,
"git" => {
"remote_origin" => "git@github.com:calabash/calabash-ios-server.git",
"branch" => "master",
"revision" => "40c6245"
},
"screen_dimensions" => {
"scale" => 2,
"width" => 640,
"sample" => 1,
"height" => 1136
},
"iOS_version" => "8.1",
"system" => "x86_64",
"simulator" => ""
}

最佳答案

您是否尝试过将 calabash 更新到 .13?您是否添加了 CFNetwork 框架?

您是否添加了 -force_load "$(SRCROOT)/calabash.framework/calabash"-lstdc++?

抱歉缺少信息,这就是我能想到的吗?如果你已经解决了这个问题。你能关闭它吗?

关于ios - 为什么 Calabash 无法在模拟器中与我的 iOS 应用交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com