如何在 Eclipse 中创建 Selenium Maven 项目?


如何在 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网站被加载。
  • 我们将看到主页或相应网站提供的页面。
  • 可以在注册页面上输入数据。
  • 提交按钮将被点击。