在calabash-android
中,我如何让场景运行多个特定时间,例如50次。
我知道我必须为此创建一个自定义step definition
,但我该如何去做呢?
我不清楚你想在这50次运行中改变什么。但是有一个很好的方法,我的一个前同事曾经告诉我的是
Scenario Outline: I really need to run this a lot of times
Given I have <Access> rights in feature <Feature>
When I navigate to <Screen>
Then the action <Action> is present
Examples:
| Screen | Feature | Access | Action | Present |
| Note | Feature A | Create | Delete note | Yes |
| Note | Feature A | Create | Create note | Yes |
| Note | Feature A | Read | Delete note | No |
| Appointments | Feature B | Create | Create appointment | Yes |
| Appointments | Feature B | Create | Delete appointment | Yes |
| Appointments | Feature B | Read | Create appointment | No |
这里的想法是你写你的场景。然后,您可以使用不同的值执行该场景。比如在屏幕上做不同的事情等等。每次执行该场景,只需向表中添加一行。
如果这对你来说是一个大的解决方案。你可以使用循环
i = 0
while i < 50
i += 1
<do stuff>
end
致以最亲切的问候Lasse
如果你只有一个场景想要多次运行:一种方法是:1.给这个场景添加一些相关的标签,比如@abc_50_times
2。那就去嫉妒吧。Rb或钩子。Rb在支持(features/support/),粘贴下面的代码在那里
Around('@abc_50_times') do |scenario, block|500.乘以{块。电话}
结束3。完成后,从场景中删除此标记(@abc_50_times),否则它将每次运行50次。
其他方法:
- 为您想要多次运行的场景提供任何标签(例如:@abc)
2。编写一个shell脚本:(例如:并将其保存在Features文件中,名为"multiple_run.sh",Features/multiple_run.sh)For (I = 1;I <= 50;我+ +))
葫芦-安卓运行——标签@abc
完成3。给予读写权限Chmod 777
4。现在运行shell脚本:
首先导航到Features: cd。/multiple_run.sh