使用Excel文件作为数据表的Cucumber-selenium

我将Cucumber-Selenium和Excel用作数据文件,我的问题是如何根据Excel上的数据多次运行功能文件。例如,我在Excel中有10行数据,并希望一个接一个地运行它,在第一行数据之后它将移至下一行并执行它。

功能文件:方案:登录

Given I open the browser and access this URL

When I enter the "<Username>" and "<Password>"

Then I am able to login

步骤定义:公共类登录{

 WebDriver driver = null;

String url;

@Given("^I open the browser and access this URL$")

public void navigateToUrl() throws Throwable{

System.setProperty("webdriver.chrome.driver", "");

driver = new ChromeDriver();

url = DataTable.getDataTableValue(0, 2, 2);

driver.get(url);

driver.manage().window().maximize();

}

@When("^I enter the \"([^\"]*)\" and \"([^\"]*)\"$")

public void enterCredentials(String userName, String password ) throws Throwable {

userName = DataTable.getDataTableValue(0, 1, 1);

password = DataTable.getDataTableValue(0, 1, 2);

driver.findElement(By.id("username")).sendKeys(userName);

driver.findElement(By.id("password")).sendKeys(password);

}

@Then("^I am able to login$")

public void clickLoginButton() throws Throwable {

driver.findElement(By.id("Login")).click();

}

}

这是我的数据表(Excel文件)

| ID | 用户名| 密码

| ID1 |用户名1 |密码1

| ID2 | 用户名2 | 密码2

| ID3 | 用户名3 | 密码3

| ID4 | 用户名4 | 密码4

回答:

如果要迭代Excel工作表中的内容,则需要在步骤定义中的代码中实现。Gherkin不支持这样做。

在实现迭代时,可以选择Apache POI。

重要的是要理解,行为驱动开发BDD的目的是沟通。小黄瓜是一种交流方式。几乎所有了解该问题的人都可以阅读和理解Gherkin方案。

如果您在Gherkin中有一些真相,而在Excel中有一些真相,那么您最终会遇到以下情况:您不使用Cucumber和Gherkin进行通信,而是将其用作测试工具。可能没关系。但是,如果将Cucumber用作测试工具,则还有其他一些可能更易于使用的工具。JUnit是其中之一。

以上是 使用Excel文件作为数据表的Cucumber-selenium 的全部内容, 来源链接: utcz.com/qa/419450.html

回到顶部