首页 文章

无法运行黄瓜文件的场景大纲示例

提问于
浏览
0

我在偷黄瓜 . 在尝试执行黄瓜场景大纲时,我遇到了错误 . 以下是黄瓜功能文件

Feature: to test pages titles    
Scenario Outline: to check title of the mutliple pages
Given Open the browser
When navigate to <Link> page
Then check <Title> of the page
Then close the browser

Examples: 
  | Link                     | Title                  |
  | https://cucumber.io/     | Cucumber               |
  | https://cucumber.io/docs | Documentation·Cucumber |
  | https://cucumber.io/blog | Blog·Cucumber          |

以下是黄瓜文件的步骤定义

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class scenario_outline_sd 
{
static WebDriver driver;
@Given("^Open the browser$")
public void open_the_browser() throws Throwable 
{
    System.setProperty("webdriver.chrome.driver", "E:\\selenium bwosers\\chrome 2.35\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
}

@When("^navigate to \"([^\"]*)\" page$")
public void navigate_to_page(String page) throws Throwable 
{
    driver.get(page);
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
}

@Then("^check \"([^\"]*)\" of the page$")
public void check_title_of_the_page(String title) throws Throwable 
{
    if(driver.getTitle().equalsIgnoreCase(title))
    {
        System.out.println("Verified title of : "+title);
    }
}

@Then("^close the browser$")
public void close_the_browser() throws Throwable 
{
    driver.close();
    driver.quit();
}

}

运行cuucmber功能文件时,它打开浏览器3次但不带URL参数 . 请帮我解决这个问题 .

1 回答

  • 0

    因为您在步骤定义中给出了错误regexp .

    功能步骤中的步骤参数没有双重配额:

    enter image description here

    但是在步骤定义中使用regexp中的双重配额:

    enter image description here

    删除 \" ,如下所示

    @When("^navigate to ([^\"]*) page$")
    public void navigate_to_page(String page) throws Throwable 
    {
        System.out.println(page);
        driver.get(page);
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
    }
    
    @Then("^check ([^\"]*) of the page$")
    public void check_title_of_the_page(String title) throws Throwable 
    {
        System.out.println(title);
        if(driver.getTitle().equalsIgnoreCase(title))
        {
            System.out.println("Verified title of : "+title);
        }
    }
    

    我可以使用以下练习代码在我的本地运行它:
    feature file:

    enter image description here

    step defintion and run result:

    enter image description here

相关问题