菜鸟教程小白 发表于 2022-12-13 02:52:36

ios - 为什么 Calabash 不能在模拟器中与我的 iOS 应用程序交互?


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

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

<pre><code>Retrying.. HTTPClient::ReceiveTimeoutError: (execution expired)
</code></pre>

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

<p>另外 20% 的时间,它会使其在我的 .feature 文件中更进一步——它会有效地通过“Given”行,并且可能还有其他行,<em>只要</em>它们不涉及与屏幕的交互。任何敲击或键入命令都会导致它挂起并最终超时,并显示与上述相同的“执行过期”消息。</p>

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

<p>Calabash 团队要求的诊断:</p>

<pre><code>&gt; xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
&gt; xcodebuild -version
Xcode 6.1
Build version 6A1052d
&gt; calabash-ios version
0.11.3
&gt; calabash.framework/Resources/version
0.11.3
irb(main):006:0&gt; server_version
{
                  &#34;app_version&#34; =&gt; &#34;0.10&#34;,
                        &#34;outcome&#34; =&gt; &#34;SUCCESS&#34;,
                         &#34;app_id&#34; =&gt; &#34;&lt;redacted&gt;&#34;,
         &#34;simulator_device&#34; =&gt; &#34;iPhone&#34;,
                        &#34;version&#34; =&gt; &#34;0.11.3&#34;,
                     &#34;app_name&#34; =&gt; &#34;&lt;redacted&gt;&#34;,
    &#34;iphone_app_emulated_on_ipad&#34; =&gt; false,
                        &#34;4inch&#34; =&gt; true,
                            &#34;git&#34; =&gt; {
      &#34;remote_origin&#34; =&gt; &#34;[email protected]:calabash/calabash-ios-server.git&#34;,
               &#34;branch&#34; =&gt; &#34;master&#34;,
             &#34;revision&#34; =&gt; &#34;40c6245&#34;
    },
          &#34;screen_dimensions&#34; =&gt; {
         &#34;scale&#34; =&gt; 2,
         &#34;width&#34; =&gt; 640,
      &#34;sample&#34; =&gt; 1,
      &#34;height&#34; =&gt; 1136
    },
                  &#34;iOS_version&#34; =&gt; &#34;8.1&#34;,
                         &#34;system&#34; =&gt; &#34;x86_64&#34;,
                      &#34;simulator&#34; =&gt; &#34;&#34;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您是否尝试将葫芦更新到 .13?您是否添加了 CFNetwork 框架?</p>

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

<p>抱歉信息不足,这就是我能想到的?如果你已经解决了这个问题。你能关掉它吗?</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 为什么 Calabash 不能在模拟器中与我的 iOS 应用程序交互?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26613669/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26613669/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 为什么 Calabash 不能在模拟器中与我的 iOS 应用程序交互?