美文网首页
Java Cucumber 初体验

Java Cucumber 初体验

作者: BestFei | 来源:发表于2019-10-15 17:29 被阅读0次

本项目是以 Java(1.8) + gradle + junit 作为cucumber的驱动框架

一、添加依赖

compile group: 'info.cukes', name: 'cucumber-java', version: '1.2.5'
compile group: 'info.cukes', name: 'cucumber-junit', version: '1.2.5'

二、编写cucumber用例
我们在resources目录下新建features目录,在features目录下新建 Login.feature 文件

Feature: System Signin

  Scenario: Signin System Successful
    Given At Signin Page https://best.fei.com/login
    When I use email best.fei@goodboy.com , password Heisagoodman to signin
    Then The page goes to welcome page https://best.fei.com/welcome

  Scenario: Signin System failed
    Given At Signin Page https://best.fei.com/login
    When I use email best.fei@goodboy.com , password Heisabadman to signin
    Then The page goes to Signin page https://best.fei.com/login

三、在main目录下新建包名bdd,在bdd下新建2个包名features和runner

四、写操作步骤
在features下新建SignFeatures

package com.uiTest.bdd.features;

import com.uiTest.pageActions.BasePageAction;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;

public class BeSignFeatures {

    WebDriver driver = new ChromeDriver();

    @Given("At (\\S*) Page (\\S*)$")
    public void goToBeSigninPage(String pageName, String url) {
        driver.get(url);
    }


    @When("^I use email (\\S*) , password (\\S*) to signin$")
    public void beSignin(String email, String password) {
        driver.findElement(By.className("email")).sendKeys(email);
        driver.findElement(By.className("password")).clear();
        driver.findElement(By.className("password")).sendKeys(password);
        driver.findElement(By.className("signin")).click();
    }


    @Then("The page goes to (\\S*) page (\\S*)$")
    public void checkResult(String pageName, String url) {
        BasePageAction basePageAction = new BasePageAction(driver);
        basePageAction.sleepTime(2000);
        String currentUrl = driver.getCurrentUrl();
        Assert.assertEquals(currentUrl,url);
        basePageAction.sleepTime(1000);
        basePageAction.closeBrowser();
    }


}

五、编写Runner类
新建SigninRunner类,配上cucumber用例的目录

package com.uiTest.bdd.runner;

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

@RunWith(Cucumber.class)
@CucumberOptions(monochrome = true,
        features = "src/main/resources/features/")
public class BeSigninRunner {
}

最后,运行cucumber用例 Login.feature 文件即可

相关文章

网友评论

      本文标题:Java Cucumber 初体验

      本文链接:https://www.haomeiwen.com/subject/ltnsmctx.html