2

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

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

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

我看过了,有一个 TaskyPro 示例(https://github.com/xamarin/mobile-samples/tree/master/TaskyPro-Calabash/features/step_definitions),它定义了一个“assert_screen”方法。我已经尝试将它放入我的项目中,但它不起作用,因为@screen 总是为零。我没有 Xamarin,所以我无法构建他们的项目并对其进行测试。

4

1 回答 1

2

你需要先分配@screen

如果您的屏幕对象来自Calabash::IBase(iOS) 或Calabash::ABase(Android),您可以使用内置await方法。您只需为屏幕设置一个trait或。title

一个很好的例子是“Calabash 跨平台示例”:https ://github.com/calabash/x-platform-example 在那里您可以看到如何分配屏幕/页面对象、如何制作屏幕/页面对象和如何检查屏幕是否可见。

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

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

于 2014-10-07T06:46:50.033 回答