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