- 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 - Data Tables
在进行自动化工作时,我们可能面临各种情况。 每一种情况都有不同的含义和需要。
自一开始,我们就在社会网络网站的标志性功能方面树立了一个榜样,在那里,我们只有两个投入参数有待通过。 让我们想到更多的可能性。 “新用户登记”的功能如何? 通常,在为社会网络网站登记新用户时,什么是投入参数? 如下:
User Name
Email Address
Password
Re-enter password
Birthdate
Gender
Phone number
<>Feature——新用户登记。
证明新的用户登记在通过不正确的投入后没有成功。
鉴于我正在一个新的用户登记网页上。
当我进入用户名称和电子邮件地址时,作为电子邮件地址和密码,以及随着用户登记而重新进入密码以及性别与电话号码。
它看一看一线。 因此,是否有更好的办法管理此类投入的chu? 答复可以是“数据表”。 数据表是一套供单对口单位提供的投入。 这一方面可以是GIVEN、WHEN或N。
请允许我在数据表的帮助下撰写上述设想,并将考虑如下:
鉴于我正在启用一个新的用户登记页。
当我在网页上输入有效数据时
| Fields | Values | | First Name | Tom | | Last Name | Kenny | | Email Address | someone@someone.com | | Re-enter Email Address | someone@someone.com | | Password | Password1 | | Birthdate | 01 |
然后,用户登记应当取得成功。
Example
让我们把数据表的例子自动化。
Step 1——创建名为“可促进试验”的“夜会试验项目”。
Go to file ——New —— Others —— Maven —— Maven Project —— Next。
纽约总部 Id (Id组将特别确定所有项目的项目。)
∗∗∗∗ (第2条) 斜体是 without的名称,没有版本。 你们可以选择下调的任何名字。
Cpck on Finish.
开放式乐器——
前往Ecppse左手边进行包装。
扩大Cucumber 试验项目。
Locate pom.xml file.
Right-cpck and selected the programme, Open with “Text Editor”.
添加对 Sel的依赖: 这将表明Maven,将把Selenium jar档案从中央存放处下载到当地存放处。
开放式的om子是ed的,在项目标的内形成依赖物(配对;依赖物和gt;及/依赖物和gt)。
在附属企业中,产生依赖方。 (加固;依赖;加固;/独立;)
在依赖方提供以下信息。
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.47.1</version> </dependency>
Add Depend for Cucumber-Java - 这将表明Maven,Cucumber文档将从中央存放处下载到当地存放处。
创建另一个依赖方。
在依赖方提供以下信息。
<dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.0.2</version> <scope>test</scope> </dependency>
Add Depend for Cucumber-JUnit - 这将表明Maven,Cucumber Junnit的档案将从中央存放处下载到当地存放处。
创建另一个依赖方。
在依赖方提供以下信息。
<dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.0.2</version> <scope>test</scope> </dependency>
日尼特附属公司 这将表明Maven, 而Junnit案卷将从中央存放处下载到当地存放处。
创建另一个依赖方。
在依赖方提供以下信息:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency>
更正。
页: 1
Go to Project - Clean - 发言几分钟。
<Step 2-在src/test/java下建立一个名为 可数据的包裹
制作一个专题文件,名称为数据,可在成套数据内查阅(详情请见章节设想大纲)。
撰写以下案文。
证明新的用户登记在输入不正确之后没有成功。
Scenario:
鉴于我正在启用新的用户登记页。
当我在网页上输入无效数据时
| Fields | Values | | First Name | Tom | | Last Name | Kenny | | Email Address | someone@someone.com | | Re-enter Email Address | someone@someone.com | | Password | Password1 | | Birthdate | 01 |
然后,用户登记应当失败
Save the file.
<4>Step 4——建立步骤定义档案。
在一揽子数据表内建立称为“数据可查”。
撰写以下法典。
package dataTable; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; import cucumber.annotation.en.Given; import cucumber.annotation.en.Then; import cucumber.annotation.en.When; import cucumber.table.DataTable; pubpc class stepdefinition { WebDriver driver = null; @Given("^I am on new user registration page$") pubpc void goToFacebook() { //Intiate web browser instance. driver = new FirefoxDriver(); driver.navigate().to("https://www.facebook.com/"); } @When("^I enter invapd data on the page$") pubpc void enterData(DataTable table){ //Initiapze data table List<pst> data = table.raw(); System.out.println(data.get(1).get(1)); //Enter data driver.findElement(By.name("firstname")).sendKeys(data.get(1).get(1)); driver.findElement(By.name("lastname")).sendKeys(data.get(2).get(1)); driver.findElement(By.name("reg_email__")).sendKeys(data.get(3).get(1)); driver.findElement(By.name("reg_email_confirmation__")). sendKeys(data.get(4).get(1)); driver.findElement(By.name("reg_passwd__")).sendKeys(data.get(5).get(1)); Select dropdownB = new Select(driver.findElement(By.name("birthday_day"))); dropdownB.selectByValue("15"); Select dropdownM = new Select(driver.findElement(By.name("birthday_month"))); dropdownM.selectByValue("6"); Select dropdownY = new Select(driver.findElement(By.name("birthday_year"))); dropdownY.selectByValue("1990"); driver.findElement(By.className("_58mt")).cpck(); // Cpck submit button driver.findElement(By.name("websubmit")).cpck(); } @Then("^User registration should be unsuccessful$") pubpc void User_registration_should_be_unsuccessful() { if(driver.getCurrentUrl().equalsIgnoreCase("https://www.facebook.com/")){ System.out.println("Test Pass"); } else { System.out.println("Test Failed"); } driver.close(); } }
Save the file.
Step 5——创建经营人班级档案。
在一揽子方案内设立称为“试验”的班轮。
撰写以下法典。
package dataTable; import org.junit.runner.RunWith; import cucumber.junit.Cucumber; @RunWith(Cucumber.class) @Cucumber.Options(format = {"pretty", "html:target/cucumber"}) pubpc class runTest { }
Save the file.
采用备选办法进行试验
一揽子勘探者的选择性操作文件。
右翼和选择权势,如实。
选择JUSG测试。
在成功执行时,你可以观察到下列情况。
Facebook网站已装满。
数据将输入登记网页。
分区纽扣。
我们将看到,主页不会显示,“试验通行证”将写在圣殿上。