ios - 如何在使用基于 View 的类模型时调用通用 Calabash 方法?
<p><p>我正在按照基于 View 的类模型为我的应用设置 Calabash 测试框架,即每个 View 都有一个包含该 View 所需方法的类。</p>
<p>但是当我调用诸如“wait_for()”之类的葫芦函数时,它会抛出一个错误:</p>
<blockquote>
<p>undefined method `wait_for' for LoggedInPage:Class (NoMethodError)</p>
</blockquote>
<p>我已经在我的 env.rb 中添加了这些</p>
<pre><code> require 'calabash-cucumber/wait_helpers'
require 'calabash-cucumber/operations'
World(Calabash::Cucumber::Operations)
World(Calabash::Cucumber::WaitHelpers)
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>问题可能是页面对象类没有在与 cucumber 运行的相同“世界”中初始化。将文件添加到 env 会将它们及其方法添加到 cucumber 正在运行的世界中。您必须在创建页面对象时将该世界传递给您的页面对象,以使它们能够访问这些功能。</p>
<p>让您的页面对象类继承自葫芦页面对象基础 - <a href="http://www.rubydoc.info/gems/calabash-cucumber/Calabash/IBase" rel="noreferrer noopener nofollow">http://www.rubydoc.info/gems/calabash-cucumber/Calabash/IBase</a>
当你创建一个页面对象的新实例时,传入 self。</p>
<pre><code>class MyPage < Calabash::IBase
...
new_instance_of_page_object = MyPage.new(self)
</code></pre>
<p>在这种特定情况下,从 IBase 继承将使您能够访问您正在谈论的功能,但传入 self 将意味着您可以访问您在 env 文件中添加的任何其他内容。</p></p>
<p style="font-size: 20px;">关于ios - 如何在使用基于 View 的类模型时调用通用 Calabash 方法?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/29465410/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/29465410/
</a>
</p>
页:
[1]