Java+Selenium+Cucumber+Maven/Gradle环境搭建

环境准备

  • JDK1.8
  • Maven/Gradle
  • Eclipse/IDEA
  • Cucumber

环境搭建

  • 创建Maven项目(IDEA为例)

    • update pom文件,引入cucumber和selenium的依賴

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      <dependencies>
      <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-java</artifactId>
      <version>2.4.0</version>
      </dependency>
      <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-junit</artifactId>
      <version>2.4.0</version>
      </dependency>
      <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.14.0</version>
      </dependency>
      </dependencies>
    • 新增feature文件

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      Feature: Hello World

      Scenario Outline: Baidu Page
      Given user fill in the "<keyword>"
      And click the search button
      Then user can get the result

      Examples:
      | keyword |
      | java |

    • 生成step:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      private BaiduPage page = new BaiduPage();

      @Given("^user fill in the \"([^\"]*)\"$")
      public void user_fill_in_the(String keyword) {
      page.goToBaidu(keyword);
      }

      @And("^click the search button$")
      public void click_the_search_button() {
      page.clickSearchBtn();
      }

      @Then("^user can get the result$")
      public void user_can_get_the_result() {
      page.verify();
      }
    • 新增runner

      1
      2
      3
      4
      5
      6
      7
      @RunWith(Cucumber.class)
      @CucumberOptions(
      plugin = {"json:target/cucumber/cucumber.json", "html:target/cucumber", "pretty"},
      features = {"src/main/resources/feature/abc.feature"})
      public class MyRunner {

      }
    • 运行Runner

      1
      2
      3
      4
      5
      6
      7
      Given user fill in the "java" # BaiduStep.user_fill_in_the(String)
      And click the search button # BaiduStep.click_the_search_button()
      Then user can get the result # BaiduStep.user_can_get_the_result()

      1 Scenarios (1 passed)
      3 Steps (3 passed)
      0m8.945s
    • 查看Report

      1593647038145

    • 拓展,改用Gradle


Java+Selenium+Cucumber+Maven/Gradle环境搭建
https://skynetboys.github.io/2020/07/02/Java-Selenium-Cucumber-Maven-Gradle环境搭建/
Author
Edison
Posted on
July 2, 2020
Licensed under