如何编写小黄瓜场景,其中用户单击菜单按钮,应该会看到显示的子菜单列表。我尝试过: Scenario Outline:Display of the login page
Given User is an admin
When user clicks on the menu
Then he should see the <list> displayed
Examples:
| list |
| loginform, UsernameField, PasswordField |
我有这样一种情况,我对我的测试套件中的每个场景大纲使用相同的参数集(我使用的是javascript): Feature: Select a Product
Install Checklist for Product
Scenario Outline: functionA() is called on page type <type> -- No errors
Given I load the site and go to a <type> page
Then I should see no errors are thrown
Exa
我想将前置步骤添加到场景大纲中作为场景,但我不想添加前置条件。我如何在Jira Xray中做到这一点? 一些说明性的例子: Scenario:
Given: Open website
Then: Check URL
Scenario Outline:
When I click this <button>
Then Something happens with <this> element 我想要一些场景大纲的“背景”,因为这是在几个测试中重复的东西,但事实证明,对于S.Outline中的每一步,背景都是重复的,所以我想创建一个正常的场
我有一个看起来很简单的黄瓜问题,我想我们大多数人都遇到过。但我不知道该如何解决它。
假设我有下面的场景概要示例。它的执行方式是:
1)它检索第一行数据,使用它按顺序执行步骤1、2、3
2)然后使用第二行数据,做同样的事情...
3)然后第三行...
Scenario Outline: Test state
Given <state> <other_state> is used in step 1
And <state> <other_state> is used in step 2
And <state>
我想通过从其他JSON文件中获取数据来参数化我的小黄瓜特征文件步骤。对此有何建议。我几乎到处找都找不到答案。 我知道这样的场景:使用gherkin功能文件中的scenario outline将示例与变量的多个值一起使用,而不是寻找它。 目前,我使用的引号中的以下值被传递到步骤定义 Scenario: Buy last coffee
Given There is "Starbucks" coffee
And I added "Sugarless" syrup 期望:我还想从JSON文件或任何其他文件中获取变量的数据,并将这
我有一个类似下面的Specflow场景
Scenario: I Shoot a gun
When I pull the trigger
Then It should expel a bullet from the chamber
我想要的是像下面的代码一样重用这个场景
Scenario: I Shoot a gun till there are no bullets left
Given I have a fun with 2 bullets in
And I Shoot a gun
And I Shoot a gun
Then There should be
我当前的Cucumber文件如下所示:
Feature: Test Online application Page
Scenario: Visit application home page and test links
Scenario: Visit application Login and Validate login
因此,现在我想在同一文件中添加几个可能用于API测试的场景。因此,我想为此创建一个新功能,而不是使用功能:测试在线应用程序页面。这样我就不需要为API测试创建单独的功能文件了。
Feature: Test Online application Page
S
有人知道如何使用解析自定义特征文件吗?我想创建一个工具来处理功能文件和执行自定义java代码。我想让Gherkin处理类似下面这样的文件:
SCENARIO: My Fist sample test
WHEN [this condition met]
USE [this dataset]
THEN [test this java code]
当我试图在Quantum Perfecto的项目中使用来自XML的数据时,我得到了词法错误。我已经附加了这个和错误的场景。 同样的错误也出现在quantum starter kit项目中。 @GettingToKnowYou
Feature: Verify the Borrower can Navigate through Getting To Know You Pages
@GKY @Test
Scenario Outline: Verify Borrower complete Getting To Know You Page
Given User already Sig
我有两个不同的场景,它们使用相同的示例块。我需要在一天中的两个不同时间运行示例块,我正在寻找一种简洁的方法来实现这一点(没有copy+pasting我的示例块)。
我将使用stepdef中的实际日期替换yyymmdd。
我想重用我的示例块,因为在现实生活中,它的列表要长得多。
Scenario Outline: File arrives in the morning
Given a file <file> arrives in the morning
When our app runs
Then The file should be moved to <newFile>
我正在用python- PoC做一些系统测试。我写了几个测试,但我想知道如何扩展它:
我有几个用小黄瓜编写并用python-behave实现的场景,我想知道:如果有许多测试人员在同一个项目上工作,而测试人员想要使用相同的短语,这样就不会在python-behave文件中出现代码重复。他们怎么能这么做呢?
例如(请忽略测试的内容,因为我没有考虑太多)
测试器1写道:
Scenario: Simple Google search
Given a web browser is on the Google page
When the search phrase "panda
我们有一个ASP.NET/MVC WebApi项目,其中包含大量由Specflow驱动的端到端测试。到目前为止,所有的请求和响应都是JSON的,所以它工作得很好。
然而,现在我们有了一个需要XML主体的端点,理想情况下,我们应该将其作为特征文件中的文字……
Scenario Outline:
Given I am authenticated
When I post the following XML
"""
<xml>
<foo>
<Bar>
&l
摘要:在-w模式下生成测试报告或测试运行转储时,我希望抑制作为后台步骤运行的步骤的stdout输出。我可以控制通过环境变量产生的输出,但我不能检测何时设置它,这取决于步骤是否在后台。对我来说,更好的方法是能够告诉behave不要在后台以编程方式执行步骤时捕获/输出stdout。
详细信息:
Feature: Foo
Background:
Given foo <setup_mode> was run successfully
Scenario: ...
Given foo <test_mode> was run succ
我想知道与使用标签和钩子相比,在cucumber中使用背景是否有一个很好的论点。
在测试开始之前有一个登录的用户可能是这样的:
Background:
Given that I am logged in
Scenario: Lorem ipsum sit amet dolor
[...]
或者像这样:
@login
Scenario: Lorem ipsum sit amet dolor
[...]
+
before(@login) do
visit('/admin/login/testuser')
end
你知道什么时候应该偏爱其中一个吗?
这个项目使用了NodeJS,黄瓜,小黄瓜,硒。
我正在尝试通过使用正则表达式将一个存储值或目前的一个值从特征文件传递到步骤定义文件中。
我想使用的一个功能示例(< url >是我的猜测,我在其他示例中看到过,但似乎不起作用)
Scenario: 0 | A User Logging In
Given I open the page with the <url>
然后还有我的step定义文件
Given("/^I open the page with the url? (.*)$/"), function(next){
driver.get(&
对于某些场景,我正在使用相同的措辞来编写特性。
Feature: User Management
Scenario: Edit an existing user's details
Given a user exists
和
Feature: Group Management
Scenario: Add a user to a group's membership
Given a user exists
And a group exists
在SpecFlow中,有没有一种很好的方法来定义每个功能调用的步骤?我的情景写作是不是走错了路?我是不是应该咬紧牙关,改变我给出的语句,以
需要测试与黄瓜网络服务。我有一个CreateDoc.feature文件
Scenario: recieve document num
Given sender info
And manufacturer code 3
When colling web-service
Then recieve document num
还有另一个文件Revocation.feature,其中我需要使用在CreateDoc.feature场景中收到的变量
Scenario: revocation doc
Given //need document num from first scenario
我该怎么做呢?
我有一个特性文件:
Scenario Outline: Example
Given I am a user
When I enter <x> as an amount
Then the result should be <result>
Examples:
| x | result |
| 3 | 3 |
| 1 | 1 |
我的问题是,在运行之后,每个示例都被标记为variant #
是否有一种方法来命名每一行实际测试的内容,以便在报告中更好地了解测试的内容,而不仅仅是
我最近经常在Cypress中使用Cucumber (实际上是在写一个框架: picklejs.com)。我喜欢用简单易懂的英语来定义一切。
然而,我似乎找不到一种方法来使用其他的When语句来定义我的给定语句。我只能通过编程来定义它。
对如何实现这一点有什么想法吗?
例如
GivenDef: I do 2 actions
When I do action 1
And I do action 2
Scenario: I do 3 actions
Given I do 2 actions
When I do action 3
我正在尝试使用REGEX来解析一个小黄瓜文件。我已经成功地将它拆分成多个REGEX来完成我想要的,但我在获取其中一个值的最后一个实例时遇到了问题。
(?s)(?P<Then>Then.*?)Scenario:|$返回除最后一个实例之外的所有实例
# This is a sample .feature file
Feature: Authorized Logins
Users will have individual logins, gated by passwords.
Scenario: Invalid login credentials are entered
我有一个cuke的场景,
Scenario: Hello World
Then do action one
Then do action two
Then do action three
Then do action four
Then do action five
但是根据环境变量的不同,我想跳过action three和action four。我知道我可以执行if-else检查,但这并不是很优雅。有没有更好的解决方案?谢谢:)
我有网页设计为不同的屏幕变化,如完整,小(640),中(1024),大(1440)和xlarge (1920)。默认情况下,它显示屏幕变体完整,我想测试相同的网页,不同的屏幕变体相同的功能。在我的例子中,我的特征文件如下所示:
Background Outline:
Given Home page is displayed.
When I navigates to "abc" inside "xyz" menu
And user click on <screenVariation> tab
Examples:
| screenVariation|
|
大家好,我们正在开发一个web服务,它将通过SOAP和REST (xml和JSon)提供。我们的specflow功能基本相同,即:
Scenario: There are at least 3 radio Channels
Given The test server is up and running
And The previously obtained channel list is reset
When I request a list of radio channels
Then the resulting deliveryPackage contains a list of a
我正在使用cucumber,并尝试根据场景名称从我的csv文件中读取行。
Feature file :
Scenario Outline: Verify content of my probblem1
Scenario, Title1, Title2, Title3, Title4, Title5
Verify content of my probblem1, Text1, Text2, Text3, Text4, Text5,
Verify content of my probblem2, Text1, Text2, T
我想从这个功能文件中提取测试类:
Feature: Access seleniumframework.com website
Use selenium java with cucumber-jvm and navigate to website
Scenario: Print title, url
When I open seleniumframework website
Then I validate title and URL
这是cucumber的Run类
package step_definitions;
import org.junit.runner.RunWith;
import
假设如下所示:
Scenario Outline: various bits
When a thing named "bog standard" is created with "<name>", "<path>", and "<type>"
Then the system should respond with <response>
Examples:
| name | path | type | response |
|
我有以下小黄瓜场景:
Scenario: User Login
Given a user account exists the email "james.smith@somesite.com" and password "surprise"
And I am on the login page
When I fill in the following:
| email | james.smith@somesite.com |
| password | surprise |
And I press "
所以我给出了这样的场景和特点:
Feature: User registration
As an Unregistered User I want to be able to register to the system so that I can use it.
Scenario: User successfully registers
Given I am unregistered user
When I register successfully into the system
Then I should become a registered use
我想使用cucumber测试我的Rails应用程序用户的年龄。特征定义看起来有点像下面这样。
Scenario: Successful calculation of age
Given I set my date of birth to "1987-07-15"
Then my age should be "22"
上面的特征定义每年都会失败,因为用户的年龄每年都会增加一个。
一种解决方案是将出生日期动态设置为类似于22.years.ago的值。但我不知道如何在小黄瓜(黄瓜特征定义语言)中做到这一点。
对此有什么看法吗?
我有一个包含两个场景的.feature文件(用小黄瓜语法编写)。 createjap.feature Feature: Create a job application
Scenario: Schedule an employee from jobs table
Given I navigate to jobs table
And I select a job
When I schedule an employee
Then I should see the employee scheduled in that job
Scenar
我正在寻找一种在特定场景之前和之后在JUnit类中触发特定方法的方法。我看到它是possible to call a function,但是有没有办法将它们与相关的Java类“绑定”呢? 示例Java测试类: @Runwith(Karate.class)
public class MyTest {
public void runThisBeforeScenarioOne() {
// Run this before scenario one
}
public void runThisAfterScenarioOne() {
// Ru
我正在开发一个可以使用不同版本的小黄瓜的gem,但我面临一个问题:在2.4.0版本中,Gherkin::Formatter::Model::Scenario.new需要6个参数,但在2.6.5版本中,它需要7个参数。
所以我的问题是,在这种情况下,什么是最佳实践?我应该这样做:
case Gherkin::Version
when '2.4.0'
do the init with 6 arguments
else
with the 7
end
我还在考虑创建一个new_with_arity方法:
class Object
def new_with_arity(*p
当我们编写包含几个场景的特征文件时,其中包含几个措辞紧凑、含义密切的步骤定义,我正在考虑对它们进行编号。例如,场景2的步骤3将命名为s23。我试着这样做... Scenario: This is my scenario
Given S21the user has some thing
When S22the user does some thing
Then S23we can make sure some thing is anything. 这应该可以帮助我快速识别相应的步骤定义实现方法,并将控制台日志消息链接到步骤定义等。 但这导致编号S21、S22、S23等在自动生成的步
我在我的应用程序上有四个非常相似的部分,并试图使用scenario outline将足够相似的测试分组在一起,以便于维护,并将它们所在的部分(页面)作为参数。然而,当单独编写这些测试时,它们的datatable下包含不同数量的项(但仍然执行相同的断言),所以我想知道是否可以为每个示例部分提供不同的数据库?
类似于:
Scenario Outline: Verify that the user is able to see the details recorded on the note
And I navigate to the "<page>" screen
T
用小黄瓜写一个“当什么时候,那么什么时候”测试是可以接受的吗?一个真实的例子如下所有的AllPlayers.com
Scenario: Successfully register a user
Given I am on homepage
And I am not logged into an account
When I follow "create a new account"
And I fill in "First Name" with "Bobby"
And I fill in "Last Nam
我对黄瓜中相同的业务逻辑有不同的字符串。所以我试着用一个函数来标记多个小黄瓜字符串。
我正在尝试下面的方法,但是我不能理解用黄瓜来表达它。
示例:
Scenario Outline: Looking up the definition of fruits
the user is on the Wikionary home page for fruits
When the user looks up the definition of the word <name>
Then they should see the definition 'An ed
对于cucumber,您可以像这样编写一个场景:
Scenario: Foo bar works as intended
Given foo exists
When I bar
Then foo bar
在java代码中,您必须为每个步骤定义一个方法,如下所示
@Given("foo exists")
public void foo_exists() {}
@When("i bar")
public void i_bar() {}
@Then("foo bar")
public void foo_bar() {}
有没有办
我在IntelliJ中有一个特征文件,但不知道如何重新格式化这些列。尝试了几个选项,但都不起作用 我已经尝试过Ctrl + Alt + L、Ctrl + shft+ Alt +L Then the "abc" box should show the following options
| Value | i18n | status | Number |
| abc | [儲abcД] | true | |
| xyz
在小黄瓜中定义场景时,有时给定步骤和何时步骤之间没有明确的区别,即用户没有与系统进行主动交互,验证的目的是验证系统在某些情况下应该是什么样子。
请考虑以下几点:
Scenario: Show current balance
Given user is on account page
Then user should see his balance
vs
Scenario: Show current balance
When user goes to account page
Then user should see his balance
我不确定我是否会一直使用第二种变体。如果我有多个场景共
我在想,在一个场景大纲中,是否有可能为参数名称设置一个新的行。
Scenario Outline: Login
Given <I> <am> <on> <the> <Office> <Portal> <link>
When I have entered my CRM credentials and sign in
Then I will be logged in
Examples:
|I |am | on| the |