- Cucumber - Ruby Testing
- Cucumber - Java Testing
- Cucumber - Debugging
- Cucumber - Reports
- Cucumber - JUnit Runner
- Cucumber - Command Line Options
- Cucumber - Hooks
- Cucumber - Comments
- Cucumber - Data Tables
- Cucumber - Tags
- Cucumber - Scenario Outline
- Cucumber - Annotations
- Cucumber - Scenarios
- Cucumber - Features
- Cucumber - Gherkins
- Cucumber - Environment
- Cucumber - Overview
- Cucumber - Home
Cucumber Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Cucumber - Features
A Feature 可定义为项目的独立单位或功能。 让我们树立一个社会网络网站的非常常见的榜样。 这一产品/项目的特点如何看待? 基本特征是:
创建社会网络网站并删除用户。
社会网络网站用户标识功能。
分享社会网络网站的照片或录像。
提出朋友的请求。
离职。
现在,很显然,在谈论Cucumber时,所试验产品的每一项独立功能都可以被称为一种特征。 在你开始测试之前,我们应确定需要测试的特点。
一个特征通常包含一个清单,用于测试该特征的情景。 一份我们储存特征的文件,关于有待测试的特点和情景的说明,称为Feature file。 我们将在以下章节中更多地了解专题档案。
Gherkins正在测试的一个特征的关键词是“地名”。 所建议的最佳做法是,在特征档案中写出对特征名词的细微描述。 这将满足提供良好文件的需要。
Example
<>Feature——社会网络网站的Login功能。
如果用户名称和密码正确,用户应当能够登录到社会网络网站。
如果用户名称和密码不正确,则应向用户显示错误信息。
如果用户名称和密码正确,用户应当浏览到主页。
Feature Files
The file, in which Cucumber test are written, is known as feature file. 对于正在测试的每一种特征,应当有一个单独的特征档案。 专题档案的延伸必须是“女性”。
人们可以视需要创建尽可能多的专题档案。 为了建立有组织的结构,每个特点都应有一个特征文件。
例:
Sr.No | Feature | Feature File name |
---|---|---|
1 | User Login | userLogin.feature |
2 | Share the Post | sharePost.feature |
3 | Create Account | createAccount.feature |
4 | Delete Account | deleteAccount.feature |
点名使用命名公约取决于个人的选择。 在Cucumber没有关于姓名的地面规则。
简单的专题文件包括以下关键词/部分:
<>Feature——测试中的特征名称。
Given - 在试验步骤完成之前,先验。
When——为执行下一步骤应具备的具体条件。
Example
Feature——社会网络网站用户标识。
当用户名称和密码正确时,用户应当能够登录到社会网络网站。
当用户名称和密码不正确时,用户应显示错误信息。
如果用户名称和密码正确,用户就应当浏览到主页。
Outpne——社交网站的Login功能。
提供给Facebook的用户浏览器。 当我进入用户名称时,即“设计、用户名和”以及“密码和”密码。 然后,原木应当失败。
| username | password | | username1 | password1 |
特征档案中没有文字细节。
Steps Definitions
我们已经掌握了我们的特征档案,并确定了试验情景。 然而,这不是完成的工作。 Cucumber don没有真正知道,为特征档案中概述的任何具体情况而执行哪一部法典。
这就需要一个中间——步骤定义文件。 步骤定义文件储存了特征档案中界定的每个步骤之间的绘图工作,并附有一份拟执行的职能守则。
因此,当Cucumber公司执行特征档案中提及的设想时,它会扫描分级定义档案和需要称之为功能的数字。
Example of Step Definition File
pubpc void goToFacebook() { driver = new FirefoxDriver(); driver.navigate().to("https://www.facebook.com/"); } @When "^user logs in using Username as "([^"]*)" and Password as "([^"]*)"$" pubpc void I_enter_Username_as_and_Password_as(String arg1, String arg2) { driver.findElement(By.id("email")).sendKeys(arg1); driver.findElement(By.id("pass")).sendKeys(arg2); driver.findElement(By.id("u_0_v")).cpck(); } @Then"^login should be unsuccessful$" pubpc void vapdateRelogin() { if(driver.getCurrentUrl().equalsIgnoreCase( "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ System.out.println("Test Pass"); } else { System.out.println("Test Failed"); } driver.close(); }
因此,根据每项职能,无论你想要执行哪项试验步骤(即GIVEN/THEN/WHEN),你都可以在步骤定义档案中书写。 确保每个步骤都界定了代码/功能。
这一职能可以是 Java,我们可以利用 Java和 Sel的指挥使我们的试验步骤自动化。
Advertisements