【问题标题】:Handle dynamic text in feature file with cucumber-protractor frame work使用黄瓜量角器框架处理特征文件中的动态文本
【发布时间】:2018-07-25 19:06:11
【问题描述】:

我正在使用量角器-黄瓜框架与量角器 52.2 和黄瓜 3.2.1。我的功能文件有 2 个场景。在第一个场景中,我必须创建一个具有唯一名称的任务。 在第二种情况下,我必须按名称搜索新创建的任务(我必须在下一个场景中使用新创建的任务名称)。我的问题是,我在功能文件中硬编码任务名称,所以当我第二次运行相同的脚本,它变得失败。 因为无法创建同名任务。我的功能文件如下所示

scenario:create task
When I enter name "task1" 
And I set start date "1-2-2018"
And I set end date "16-2-2018"
Then I click on "submit"

scenario:search task
When I enter "task1" in searchbox
Then I should see the "task1" in the result

这里的“task1”应该是一个动态文本。当我每次运行脚本时它应该会改变。我们如何解决这个问题。提前致谢。

【问题讨论】:

  • 有人知道这个吗?

标签: protractor


【解决方案1】:

步骤 1) 在场景 1 中,生成唯一的任务名称并将名称存储到 global,如:

global.taskName = xxxxx

步骤 2) 在场景 2 中,从 global 访问任务名称,例如:

var taskName_ele = element(by.xxx(yyy));
taskName_ele.clear().then(function(){
   taskName_ele.sendKeys(global.taskName);
})

不足:如果你有另一个场景也会改变global.taskName并且你并行运行场景,场景会得到global.taskName的脏数据。

【讨论】:

    【解决方案2】:

    场景大纲:场景描述

        Given a precondition has value <param_1>
    
        And something with <param_2>
    
        Then check <param_3> is the output
    
        Examples:
        | param_1 | param_2 | param_3 |
        | value1_1 | value1_2 | value1_3 |
        | value2_1 | value2_2 | value2_3 |
        | value3_1 | value3_2 | value3_3 |
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多