English 中文(简体)
Cucumber - Scenario Outline
  • 时间:2024-03-24 14:33:29

Cucumber - Scenario Outpne


Previous Page Next Page  

Scenario>提纲基本上用表格的价值取代变数/关键词。 表格中的每一行都被视为一种情况。

让我们继续以Facebook标识特征的同样例子。 迄今为止,我们一直在执行一种设想: 在提供正确的用户名称时,标识是成功的。 现在,我们想要检查的是,所有三种可能类型的投入(即用户名称、电子邮件地址或电话号码)的标识是否成功。 为此,我们需要撰写三种不同的假设情景,即每种假设情景将因投入类型不同而异,日志是成功的。 在这种情况下,设想情景将如下。

Scenario:

鉴于用户对Facebook的浏览

When I enter correct username and password

Then login should be successful

Scenario:

鉴于用户对Facebook的浏览

When I enter correct email address and password

Then login should be successful

Scenario:

鉴于用户对Facebook的浏览

When I enter correct phone number and password

Then login should be successful

在这里,如果我们密切看到,就上述三种情况而言:发言是一样的,那么只有投入参数(用户名/电子邮件地址/电话号码)正在发生变化。 假设情景大纲的重要性如何体现。

当我们用设想方案大纲确定任何设想方案时,我们可以确定一个试验情景,在底下,我们可以提供一些投入。 设想方案的执行时间将达到所提供投入的数量。

Example

让我们树立一个情景概述的榜样——

<Step 1- 创设一个名为ScenarioOutpne 试验的夜静试验项目。

    Go to file ——New —— Others —— Maven —— Maven Project —— Next。

    供应集团 Id(Id组将确定你在所有项目中独一无二的项目)。

    提供艺术作品 Id. 行为 斜体是 without的名称,没有版本。 你们可以选择下调的任何名字。

    Cpck on Finish.

    开放pom.xml

      前往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>

    加入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下建立一个名为“outpne”的包裹

Java Package

Step 3-创设一个名为的特质文件

    在一揽子大纲中选择和右翼。

    Cpck on "New' file.

    查阅文件名称,例如“outpne.feature”

      在档案中撰写以下案文,并予以保存。

      Scenario Outpne——社会网络网站的Login功能。

      鉴于用户对Facebook的浏览

      当我进入用户名时,即“和”;用户名和“;”和“密码和”;

      然后,原木应当失败

| username  | password  | 
| username1 | password1 | 
| username2 | password2 |

此处,举例来说,说明描述了在情景执行时提供的投入范围。 将为所提供的每一项投入进行试验。 因此,如上所述,试验情景将执行三次。

    在一揽子大纲中选择和右翼。

    Cpck on "New' file.

    将档案名称改为 步骤definition.java

    在档案中撰写以下案文,并予以保存。

package Outpne;
 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; 
import cucumber.annotation.en.When; 

pubpc class stepdefinition { 
   WebDriver driver = null; 
	
   @Given("^user navigates to facebook$") 
   pubpc void goToFacebook() { 
      driver = new FirefoxDriver(); 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @When("^I enter 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(); 
   }    
}

在上述法典中,我们必须界定一个具有两个投入理由的职能:一个用户名,另一个是密码。 因此,将执行举例标题、一套全球清单、WHEN和N中提供的每一项投入。

Step 5——创建经营人班级档案。

    在一揽子大纲中选择和右翼。

    Cpck on "New' file.

    查阅文件名称,例如 run Test.java

    在档案中撰写以下案文,并予以保存。

package Outpne; 

import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber"})

pubpc class runTest { }

    利用备选办法进行试验——

      一揽子勘探者档案。

      右翼和选用Omun as'

      选择JUSG测试。

在你管理本级档案时,你将观察下列情况:

    Facebook在新的网上浏览器中开放。

    用户名1和密码1将作为用户名和密码领域的投入通过。

    将点击Login。

    将在浏览器上张贴关于未成功登录的信息。

    页: 1

    步骤1至5将再次对用户名2和密码加以执行。

在营养方面,如果假设情况不改变,只改变数据价值,则最好使用假设情景概要数据表。

Advertisements