当前位置: 首页 > 面试题库 >

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

钮出野
2023-03-14
问题内容

我将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是其中之一。



 类似资料:
  • 问题内容: 请问如何通过cucumber读取excel、word、pdf文件? 问题答案: 反对法的f

  • 我想使用Spark Session2.2从HDFS中的Excel文件加载数据。下面是我的Java代码和我得到的异常。 我有个例外: java.lang.nosuchmethoderror:org.apache.poi.ss.usermodel.workbook.close()V at com.crealytics.spark.excel.excelrelation.com$crealytics$s

  • 此格式良好的XML文档使用MS VBA代码馈送到Excel 2007。我成功地使用DOMDocument和IXMLDOMElement导入了名称、城市和产品 但是,xa:MeContext id、vsData1 id、VsData2 id、客户id和订单id不会导出到Excel工作表。 每个Excel行都有以下标题,其中包含从XML文档填充的数据:

  • 我们希望在Cucumber中使用外部文件(如excel工作表)实现数据驱动测试,而不使用Cucumber提供的DataTable或Examples关键字。 这是我的特征文件 功能:验证登录页方案大纲:使用excel和数据集驱动数据 当我进入登录页面时,我会使用excel行输入用户名和密码。” 在上面的示例中,我们根据文件中提供的行索引从excel读取数据。 很难在功能文件中写入这么多记录,因为数据

  • 真希望有人能帮上忙。 在cucumber的“示例”中是否可以使用两个不同的外部数据文件?如下所示: @play_movie 场景概述:在网站上播放视频 在这个场景中有一个数据文件,但是如果我想在这个场景中使用两个或更多不同的数据文件呢。有可能用cucumber做吗? 我使用Java作为编码语言。 谢谢

  • 我想使用r编辑一个现有的excel文件。例如,ExcelFile_1有数据,我需要将来自ExcelFile_1的数据放入另一个名为ExcelFile_2的文件中。这是基于列名和行名的。 ExcelFile_1: 商店发货数量 1111 100 2222 200 ExcelFile2: 商店发货数量 1111 2222 如果我正在处理数据帧,我通常执行 excelfile_2$<-excelfile