Automated testing with Cucumber (Phần 2) - Hướng dẫn thiết lập Cucumber với Selenium bằng Maven

Vì sao nên sử dụng Maven

Maven là một công cụ xây dựng tự động hóa và được sử dụng rộng rãi cho các dự án Java. Nó chủ yếu được sử dụng trong việc quản lý các phụ thuộc thông qua pom.xml. Giả sử bạn muốn nâng cấp các tệp JAR và trong dự án của bạn, bạn đang sử dụng phiên bản 1.25 cho phụ thuộc Cucumber-Java. Bạn cần nâng cấp lên phiên bản mới nhất. Với việc sử dụng Maven, nó dễ dàng nâng cấp phiên bản.

Các bước cài đặt Maven project trên window

Chuẩn bị

Cài đặt Maven

Bước 1: Tạo Maven project trên IntelliJ IDEA Chọn Create New Project -> chọn Maven -> click Next.

Bước 2: Nhập Group Id, Artifact ID -> click Next -> click Finish.

Sau khi tạo xong, sẽ hiển thị cấu trúc như hình bên dưới

Bước 3: Để khung Cucumber-Selenium có thể chạy được, các bạn cần thêm các dependency vào file pom.xml (việc này tương tự như thêm file jar vào thư viện trong Java project). Dưới đây là 1 số dependency cần thiết:

  • Selenium-java
  • Cobertura
  • Cucumber-jvm-deps
  • Cucumber-reporting
  • Gherkin
  • JUnit
  • Mockito-all-1.10.19
  • Cucumber-core
  • Cucumber-java
  • Cucumber-junit

Lưu ý: Phải đảm bảo version của Cucumber-java, Cucumber -junit và Cucumber-core giống nhau.

Để có thể thêm dependency, các bạn có thể tham khảo tại trang: https://mvnrepository.com/. Sau khi thêm xong file pom.xml sẽ hiển thị như hình bên dưới:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>Test</groupId>
    <artifactId>Test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Cucumber_Selenium</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.6.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.7.0</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-jvm-deps</artifactId>
            <version>1.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.vimalselvam</groupId>
            <artifactId>cucumber-extentsreport</artifactId>
            <version>3.0.2</version>
        </dependency>
        <dependency>
            <groupId>com.aventstack</groupId>
            <artifactId>extentreports</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>RELEASE</version>
        </dependency>
    </dependencies>
</project>

Khi thêm 1 dependency, góc phải bên dưới sẽ hiển thị thông báo(như hình bên dưới), thì các bạn có thể chọn Enable Auto-Import, để lần sau project tự động cập nhật khi thêm các dependency.

Hoặc có thể cài đặt trên IntelliJ IDEA bằng cách: click File -> Setting -> Build, Execution Deployment -> Build Tools ->Maven -> Importing -> Import maven projects automatically, như hình bên dưới

(còn tiếp)

All Rights Reserved