在calabash-android
中,我如何让 Scenario 运行多个特定时间,例如50次。
我知道我必须为此创建一个自定义step definition
,但我该怎么做呢?
答案 0 :(得分:2)
我不清楚,在这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
祝你好运 拉塞
答案 1 :(得分:1)
如果您只有一个场景,您可以多次运行: 一种方法: 1.给那个场景提供一些相关的标签,比如@ abc_50_times
2.然后转到env.rb或hooks.rb支持(features / support /),粘贴下面的代码
围绕(&#39; @ abc_50_times&#39;)做场景,阻止| 500.times {block.call} 端
3.完成后,从场景中删除此标记(@ abc_50_times),否则每次运行50次。
其他方法:
2.编写一个shell脚本:(例如:将其保存在Features文件中作为&#34; multiple_run.sh&#34;,Features / multiple_run.sh) for((i = 1; i <= 50; i ++)) 做
calabash-android run --tags @abc
完成
3.授予读写权限 chmod 777
4.现在运行shell脚本:
首先导航到功能:cd ./multiple_run.sh
此shell脚本使Scenario多次运行...