Calabash Android:如何多次重复场景?

时间:2014-06-25 15:51:36

标签: android mobile automation android-testing calabash

calabash-android中,我如何让 Scenario 运行多个特定时间,例如50次。

我知道我必须为此创建一个自定义step definition,但我该怎么做呢?

2 个答案:

答案 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次。

其他方法:

  1. 为您多次运行的场景提供任何标记(例如:@ abc)
  2. 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多次运行...