logo图片
Cucumber教程

Selenium Maven项目

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

在Eclipse中创建用于Cucumber测试的Selenium Maven测试项目之前,首先我们的计算机系统中必须有以下依赖项:
Java Eclipse Cucumber Eclipse Plugin Web driver Java Client Selenium
这里我们创建一个Maven项目,通过数据表测试注册功能:
第 1 步
为了首先创建一个Maven项目,转到文件→新建→其他→Maven→Maven项目→下一步。
点击下一步后,会出现一个窗口迅速的。在此窗口中,我们需要提供组 ID(组 ID 在所有项目中唯一标识项目)。我们已将组 ID 提供为 "com.lidihuo"。您可以根据自己的选择提供任何名称。
此外,提供 工件 ID(工件id 代表项目名称)。我们已将工件 ID 提供为 "CucumberTesting"。您可以根据自己的选择指定任何名称。
第 2 步
使用以下步骤打开 pom.xml:
转到 Eclipse 窗口左侧的包资源管理器。 展开为Cucumber 中的数据表测试创建的项目,然后选择其pom.xml 文件。 现在打开 pom.xml 并添加以下依赖项。
在 pom.xml 中为 Selenium 添加依赖项: 这将向 Maven 指示哪些 Selenium jar 文件将从中央存储库下载到本地存储库。
在 pom.xml 文件中,在项目标记内创建一个依赖项标记 (<dependencies></dependencies>)。 现在,在依赖项标签内,创建一个依赖项标签(<dependency></dependency>),并在其中提供以下信息。
<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></dependencies>) 中,创建一个依赖标签 (<dependency></dependency>),并提供跟踪其中的信息。
<dependencies>
<dependency> 
 <groupId> info.cukes </groupId>
 <artifactId> cucumber-java </artifactId> 
 <version> 1.0.2 </version>
 <scope> test </scope> 
</dependency>
</dependencies>
    
第 4 步
为Cucumber-Junit添加依赖: 它会告诉Maven,从中央下载哪些Cucumber JUnit文件存储库到本地存储库。
现在,在依赖标签 (<dependencies></dependencies>) 中,创建一个依赖标签 (<dependency></dependency>),并提供跟踪其中的信息。
<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></dependencies>) 中,创建一个依赖标签 (<dependency></dependency>),并提供跟踪其中的信息。
<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 的特征文件。 在特征文件中,写入以下文本。
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.lidihuo.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.lidihuo.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。
如果你的执行成功了,你会观察到以下几点:
lidihuo 网站已加载。 我们将看到主页或相应网站提供的页面。 可以在注册页面上输入数据。 将点击提交按钮。
昵称: 邮箱:
Copyright © 2020 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4