【问题标题】:Running this feature file as expected按预期运行此功能文件
【发布时间】:2020-07-10 15:55:24
【问题描述】:

我有这个功能文件。

Scenario Outline: Verify user can open and view document
Given user is in QueueHandling home page Dashboard
And user has batches assigned to himself/herself 
When user selects "<batchName>" batch from batch list
Then selected batch is opened in a new window
And user views all identified documents

Examples: 
| batchName |
| QGOL2B    |
| QGK3UB    |

Scenario Outline: Verify data in document
When user selects "<documentType>" document and compare data

Examples:
| documentType         |
| Settlement Coversheet|
| AssetLoanAgreement   |

Scenario: Verify user navigates back to QueueHandling home page Dashboard
Given user navigates back to QueueHandling home page Dashboard

我想这样运行它。 对于 QGOL2B 批次,我想在结算封面和 AssetLoanAgreement 的文档场景中执行验证数据。 然后返回并导航到 QGK3UB 批处理并验证结算封面和 AssetLoanAgreement 的文档场景中的数据。如何实现?

【问题讨论】:

  • 这是我能做到的吗?”——这类问题的答案通常是“是”。这真的是您要问的问题,还是有更好的措辞方式?
  • 更改了@CaiusJard 的措辞。你能帮忙实现这个吗?

标签: c# selenium-webdriver cucumber specflow


【解决方案1】:

Cucumber 使得在特性中执行诸如循环和条件语句之类的事情变得非常困难。这是设计使然。功能不是用来记录和探索事情是如何完成的,它们是用来记录为什么要做事情以及它们是什么。

现在你有一些复杂的操作,你想验证这个操作是否有效。在这种情况下,您需要记录的是这个操作是什么以及为什么它很重要。

那么通过 Settlement Coversheet 和 AssetLoanAgreement 放置批次的操作的名称是什么。为什么一起做这些事情很重要。为什么它们是联系在一起的。订单重要吗等等等等。

您需要提出很多问题并找到答案。完成此操作后,您应该能够编写一个更简单的场景。

一般来说,如果你想在一个场景中做一些复杂的事情,将不同的场景链接在一起,循环,运行条件​​行为,或者做任何可能被认为是编程的事情,并且你想在功能中做到这一点,你应该停止并开始提问.

每次你开始探索一个新的行为时,你应该能够编写一个简单的(快乐路径场景),比如

Given I am ready to foo
When I foo
Then I should see I have foo'd

如果您无法编写初始场景,那么 Cucumber 会告诉您,您需要提出问题并更清楚地了解您在做什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2020-01-08
    • 2022-12-14
    相关资源
    最近更新 更多