送你一套Web UI自动化框架

 

坦白讲,初学者往往都是从编写脚本开始的,搭建框架就略显复杂了。那么今天送你一套Web UI自动化测试框架:Cucumber+Selenium+Java+Maven+TestNg,帮助初学者迈出自动化测试之路的第一步。

本文分为两部分:

第一部分:Step By Step 教你配置环境;

第二部分:对该Framework进行简单讲解。 

敬请移驾去我的github上下载Project:https://github.com/JulyShi/cucumber-java-web

第一部分:配置环境 

配置环境分为四步走:

Step 1:安装JDK,配置JAVA_HOME

Step 2:安装Maven,配置M2_HOME

Step 3:安装IntelliJ IDEA 或Eclipse

Step 4:下载并导入Project

Step 1:安装JDK,并配置JAVA_HOME 

以下举个Windowe的栗子,从oracle官网下载适合自己操作系统的JDK版本.

默认安装安装JDK

配置JAVA_HOME

在命令行工具执行下属命令,检查是否安装成功。

& java -version

& java

Step 2:安装Maven,配置M2_HOME

下载Maven

配置M2_HOME,并用如下命令检测是否配置成功

$ mvn -v

Step 3:安装IntelliJ IDEA 或Eclipse

这里推荐使用IntelliJ IDEA哦。官网地址:https://www.jetbrains.com/idea/

 

Step 4:下载并导入Project

从我的github上下载Project:cucumber-java-web。

下载地址:https://github.com/JulyShi/cucumber-java-web

(可以下载压缩包,也可以在命令行工具中,用 $ git clone命令进行下载。)

导入Project

选择刚刚下载的Project:cucumber-java-web,选择“Maven”,并点击“Next”。

点击“Next”。

点击“Next”。

设置Java路径。

点击“Finish”,Project导入成功

配置Maven路径。

至此,环境全部配置好了。Maven Clean和Maven Install来安装依赖。

BUILD SUCCESS说明依赖安装成功,Project里已经添加好了一个简单的Scenario,用Maven test 来验证下吧。

第二部分:框架讲解 

1. 目录结构

src/main/java: Source code
src/test/java
: java code
- helpers/DataHelper.java:获取Excel中的测试数据

- helpersLog.java:用Log4j来记录log

- pageobjects/BaiDuHomePage.java: 百度首页的Page object

- pageobjects/BaseClass.java: 初始化WebDriver,并存放PageObjects的公共方法

step_definitions/BaiDu_StepDefinitions.java: Step definitions. 用来解释feature中的Scenario

- step_definitions/Hooks.java: 将@Before和@After标记的方法hooks中,包含Scenario执行的先决条件,以及执行完毕后杀死进程

- step_definitions/RunCukesTest.java: 开始cucumber scenarios,以及其它cucumber options

src/test/resources: feature文件
features/test.feature:
包含所有scenarios的features

testDate/*:存放测试数据

2. Pom.xml

我已经将框架所有的依赖全部配置在了Pom文件中,这样在Maven Install时会自动下载安装这些依赖。

  1. cucumber-java

  2. cucumber-testing

  3. cucumber-junit

  4. selenium-java

  5. junit, log4j, apache-poi, xmlapis, xerces

  6. maven-surefire plugin

<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>cucumber-selenium-java-Web</groupId>
   <artifactId>cucumber-java-web</artifactId>
   <version>0.0.1</version>
   <packaging>jar</packaging>
   <name>cucumber-web</name>

   <properties>
      <project.build.sourchEncoding>UTF-8</project.build.sourchEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
   </properties>

   <dependencies>
      <dependency>
         <groupId>info.cukes</groupId>
         <artifactId>cucumber-java</artifactId>
         <version>1.2.0</version>
      </dependency>
      <dependency>
         <groupId>info.cukes</groupId>
         <artifactId>cucumber-testng</artifactId>
         <version>1.2.0</version>
      </dependency>
      <dependency>
         <groupId>info.cukes</groupId>
         <artifactId>cucumber-junit</artifactId>
         <version>1.2.0</version>
      </dependency>
      <dependency>
         <groupId>org.seleniumhq.selenium</groupId>
         <artifactId>selenium-java</artifactId>
         <version>2.44.0</version>
      </dependency>

      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.11</version>
      </dependency>
      <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
         <version>1.2.17</version>
      </dependency>
      <dependency>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-ooxml</artifactId>
         <version>3.9</version>
      </dependency>
      <dependency>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi</artifactId>
         <version>3.11-beta3</version>
      </dependency>
      <dependency>
         <groupId>xml-apis</groupId>
         <artifactId>xml-apis</artifactId>
         <version>2.0.2</version>
      </dependency>

      <dependency>
         <groupId>xerces</groupId>
         <artifactId>xercesImpl</artifactId>
         <version>2.8.0</version>
      </dependency>
   </dependencies>

   <build>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.18</version>
               <dependencies>
                  <dependency>
                     <groupId>org.apache.maven.surefire</groupId>
                     <artifactId>surefire-junit47</artifactId>
                     <version>2.18</version>
                  </dependency>
               </dependencies>
            </plugin>
         </plugins>
      </pluginManagement>
   </build>
</project>

 

别浪费时间了,快来关注【七姑娘日记】吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值