English 中文(简体)
Cucumber - Data Tables
  • 时间:2024-03-24 14:26:05

Cucumber - Data Tables


Previous Page Next Page  

在进行自动化工作时,我们可能面临各种情况。 每一种情况都有不同的含义和需要。

自一开始,我们就在社会网络网站的标志性功能方面树立了一个榜样,在那里,我们只有两个投入参数有待通过。 让我们想到更多的可能性。 “新用户登记”的功能如何? 通常,在为社会网络网站登记新用户时,什么是投入参数? 如下:

    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网站已装满。

    数据将输入登记网页。

    分区纽扣。

    我们将看到,主页不会显示,“试验通行证”将写在圣殿上。

Advertisements