【问题标题】:How to use one driver for background and each set of scenario outline, but use new driver for different scenario outline example data?如何为后台和每组场景大纲使用一个驱动程序,但为不同的场景大纲示例数据使用新驱动程序?
【发布时间】:2018-12-08 04:37:08
【问题描述】:

我是 Cucumber 的新手,遇到了一个困难,对于那些知道如何操作的人来说可能很容易。那么有人可以帮我吗?非常欣赏! 我的功能文件是这样的:

Background: User logged in and goes to Consumer Page as an Internal Admin 
    Given user is logged in as Internal Admin
    When user clicks on Consumer 
    Then the Consumer screen will display

@Consumer
Scenario Outline: New Application - Multiple Applicants: Verify consumer head line verification Message 
    When user select New Application from Enquiry Type
    And user enters "<NoOfApplicant>" in Number of Applicants field
    Then user should see correct Consumer "<verification>" messages for each consumer
    Examples:  
       |NoOfApplicant|verification |
       |1            |One Consumer |
       |2            |Two Consumers|

我想要实现的是使用一个驱动程序会话来运行后台和第一个场景,在第一个场景完成后关闭驱动程序。打开一个新的驱动,运行后台,运行第二个场景并关闭驱动。

那么有人知道如何实现吗?

我现在的情况是:

  1. 定义静态驱动并在钩子后关闭它。结果是 后台执行后驱动程序被关闭,这将导致 第一个场景没有驱动程序;

  2. 如果我将驱动程序更改为非静态并在钩子后关闭它,那么驱动程序将被关闭并为第一个场景创建一个新的驱动程序。但不再运行后台并直接运行第一个场景。因为后台还没有执行,所以驱动不在页面上,还没有准备好运行第一个场景。

  3. 但是如果我使用静态驱动并且在钩子后不关闭驱动,那么第二种情况将使用相同的驱动并运行 再次背景,这也会失败,因为页面已经 登录...

我有点挂了。任何人都可以帮忙吗?谢谢!

【问题讨论】:

  • 你用的是哪个版本的黄瓜?
  • 后台步骤运行后驱动程序如何关闭,after钩子只有在场景也完成后才会运行?为什么不直接使用非静态驱动程序,你在前钩子中初始化并在后钩子中关闭?

标签: automation webdriver cucumber gherkin


【解决方案1】:

如果您使用 selenium 删除 cookie,在大多数情况下,您将被注销 - 在不关闭浏览器的情况下刷新状态。

无论是这样,还是在您的登录步骤中,检查谁已登录,如果是正确的用户,则您已经完成了该步骤,如果是错误的用户,请注销并重新登录,如果不是登录,只需登录。

另外说明:

Background 的内容总是在功能文件中的每个场景之前执行,所以这根本不应该是一个问题 - 问题是你关闭浏览器的位置,它应该在一个 after 钩子中, 并打开浏览器,它应该在一个 before 钩子中。

【讨论】:

    【解决方案2】:

    你应该

    1. 运行一个场景两次,使用环境变量来确定使用哪个驱动程序

    1. 为每个浏览器编写单独的场景,并使用标签切换驱动

    1. 将驱动程序名称添加到您的示例表中,并确保在打开浏览器的任何步骤之前从该表中加载驱动程序

    最后的解决方案是迄今为止最糟糕的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多