如何在 Eclipse 中创建 Selenium Maven 项目? Cucumber 中的数据表是什么? Cucumber中的hook是什么? 如何在 Eclipse 中创建 Selenium Maven 项目? 在Eclipse中创建用于cucumber测试的Selenium Maven测试项目之前,首先我们的计算机系统中必须有以下依赖项: Java Eclipse Cucumber Eclipse Plugin Web driver Java Client Selenium 这里我们创建一个Maven项目,通过数据表测试注册功能: 步骤1 为了首先创建一个 Maven 项目,转到File → New → Others → Maven → Maven Project → Next。 单击Next 后,会出现一个窗口提示。在此窗口中,我们需要提供组 ID(组 ID 在所有项目中唯一标识项目)。我们已将组 ID 提供为“com.javatpoint”。您可以根据自己的选择给出任何名称。 另外,提供artifact Id(artifact Id 代表项目的名称)。我们已将工件 ID 提供为“CucumberTesting”。您可以根据自己的选择给出任何名称。 单击完成。 第2步 使用以下步骤打开 pom.xml: 转到 Eclipse 窗口左侧的包资源管理器。 展开在cucumber 中为数据表测试创建的项目,然后选择它的pom.xml 文件。 现在打开 pom.xml 并添加以下依赖项。 在 pom.xml 中为 Selenium 添加依赖项:这将向 Maven 指示哪些 Selenium jar 文件将从中央存储库下载到本地存储库。 在 pom.xml 文件中,在项目标记内创建一个依赖项标记()。 现在,在 dependencies 标签内,创建一个依赖标签(),并在其中提供以下信息。 <dependencies> <dependency> <groupId> org.seleniumhq.selenium </groupId> <artifactId> selenium-java </artifactId> <version> 2.47.1 </version> </dependency> </dependencies> 第 3 步 在 pom.xml 中添加 Cucumber-Java 的依赖:它会指示 Maven;哪些 Cucumber 文件将从中央存储库下载到本地存储库。 现在,在依赖项标记() 中,创建一个依赖项标记(),并在其中提供以下信息。 <dependencies> <dependency> <groupId> info.cukes </groupId> <artifactId> cucumber-java </artifactId> <version> 1.0.2 </version> <scope> test </scope> </dependency> </dependencies> 第四步 为 Cucumber-Junit 添加依赖:它会向 Maven 指示哪些 Cucumber JUnit 文件将从中央存储库下载到本地存储库。 现在,在依赖项标记() 中,创建一个依赖项标记(),并在其中提供以下信息。 <dependencies> <dependency> <groupId> info.cukes </groupId> <artifactId> cucumber-junit </artifactId> <version> 1.0.2 </version> <scope> test </scope> </dependency> </dependencies> 第 5 步 为 Junit 添加依赖:它会向 Maven 指示哪些 JUnit 文件将从中央存储库下载到本地存储库。 现在,在依赖项标记() 中,创建一个依赖项标记(),并在其中提供以下信息。 <dependencies> <dependency> <groupId> junit </groupId> <artifactId> junit </artifactId> <version> 4.10 </version> <scope> test </scope> </dependency> </dependencies> 完成所有依赖项后,验证二进制文件。 一旦 pom.xml 成功完成,然后保存它。 转到您的项目 → 清理 - 这可能需要几分钟时间。 现在,在项目的src/test/java文件夹下创建一个名为dataTable的包。 第 6 步 创建功能文件: 在包 dataTable 中,创建一个名为dataTable的特征文件。特征。 在特征文件中,写入以下文本。 Feature - Data table Verify that the new user registration is successful after passing correct inputs. Scenario: Given the user on the user registration page. When user enter invalid data on the page | Fields | Values | | First Name | Preeti | | Last Name | Sharma | | Email Address | someone@gmail.com | | Re-enter Email Address | someone@gmail.com | | Password |PASSWORD | | Birthdate | 02 | Then the user registration should be successful. 保存此文件。 第 7 步 创建步骤定义文件: 在包 dataTable 中创建扩展名为“.java”并命名为“dataTable.java”的步骤定义文件。 在步骤定义文件中,编写以下代码。 package dataTable; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; import cucumber.annotation.en.Given; import cucumber.annotation.en.Then; import cucumber.annotation.en.When; import cucumber.table.DataTable; public class StepDefinition { WebDriver driver = null; @Given("^I am on user registration page$") public void goToFacebook() { //Intiate web browser instance. driver = new FirefoxDriver(); driver.navigate().to("https://www.javaTpoint.com/"); } @When("^I enter valid data on the page$") public void enterData(DataTable table){ //Initialize data table List<list> data = table.raw(); System.out.println(data.get(1).get(1)); //Enter data driver.findElement(By.name("firstname")).sendKeys(data.get(1).get(1)); driver.findElement(By.name("lastname")).sendKeys(data.get(2).get(1)); driver.findElement(By.name("registered_email__")).sendKeys(data.get(3).get(1)); driver.findElement(By.name("registered_email_confirmation__")). sendKeys(data.get(4).get(1)); driver.findElement(By.name("registered_passwd__")).sendKeys(data.get(5).get(1)); Select dropdownB = new Select(driver.findElement(By.name("birth_day"))); dropdownB.selectByValue("12"); Select dropdownM = new Select(driver.findElement(By.name("birth_month"))); dropdownM.selectByValue("7"); Select dropdownY = new Select(driver.findElement(By.name("birth_year"))); dropdownY.selectByValue("1992"); driver.findElement(By.className("_59mt")).click(); // Click submit button driver.findElement(By.name("websubmit")).click(); } @Then("^User registration should be successful$") public void User_registration_should_be_successful() { if(driver.getCurrentUrl().equalsIgnoreCase("https://www.javaTpoint.com/")){ System.out.println("Test Pass"); } else { System.out.println("Test Failed"); } driver.close(); } } 第 8 步 现在创建步骤定义文件后,我们需要创建一个运行程序类文件。 在包 dataTable 中创建一个扩展名为“ .java ”并命名为 RunTest.java 的运行器类。 在运行器类RunTest.java 中,编写以下代码。 package dataTable; import org.junit.runner.RunWith; import cucumber.junit.Cucumber; @RunWith(Cucumber.class) @Cucumber.Options(format = {"pretty", "html:target/cucumber"}) public class RunTest { } 保存此文件,并使用以下选项运行测试: 选择运行程序类,即包中的 RunTest.java 文件。 右键单击它,然后选择选项Run as → JUnit。 如果您的执行成功,您将观察到以下几点: JavaTpoint网站被加载。 我们将看到主页或相应网站提供的页面。 可以在注册页面上输入数据。 提交按钮将被点击。 Cucumber 中的数据表是什么? Cucumber中的hook是什么?