在Calabash测试中,检查我是否在特定屏幕上的合适方法是什么



我希望在测试期间断言我在特定的屏幕上,如果我没有,那么我应该失败。建议的方法是什么?例如,如果我有一个这样的测试:

Given that I am on the Login screen
When I press "Sign Up"
Then I should be on the Sign up screen

我已经为涉及的两个屏幕编写了页面对象模型,它们都定义了一个trait方法。

我看了看,这里有TaskyPro示例(https://github.com/xamarin/mobile-samples/tree/master/TaskyPro-Calabash/features/step_definitions),定义了一个"assert_screen"方法。我试着把它放进我的项目中,但它不起作用,因为@screen总是零。我没有Xamarin,所以我不能构建他们的项目并进行测试。

您需要先分配@screen

如果你的屏幕对象是Calabash::IBase(iOS)或Calabash::ABase(Android)固有的,你可以使用内置的await方法。您只需要为屏幕设置一个traittitle

一个很好的例子是"葫芦跨平台示例":https://github.com/calabash/x-platform-example在那里,您可以看到如何分配屏幕/页面对象、如何创建屏幕/页面目标以及如何检查屏幕是否可见的示例。

我们在所有的测试中都使用屏幕对象,当您需要在多个平台上使用相同的测试时,它们会有很大帮助。

我建议您也在屏幕/页面对象上使用transition方法在屏幕之间导航。

相关内容

  • 没有找到相关文章

最新更新