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的参数。请帮我解决这个问题。
答案 0 :(得分:1)
因为您在步骤定义中给出了错误regexp。
功能步骤中的步骤参数没有双重配额:
但是你在步骤定义中使用regexp中的双重配额:
删除\"
,如下所示
@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);
}
}