web自动化测试框架搭建( Java+Cucumber+Gradle) _Mac_1

一.  Gradle的介绍

1. Gradle是一个基于Apache ANT和Apache Maven概念的项目自动化构建工具,管理项目的依赖文件

     ANT 可以自动化打包逻辑
     Maven 也可以自动打包,相比于ANT,它还可以帮我们自动下载依赖Jar包
     Gradle 可以自动下载jar包,又可以自动写脚本,并且脚本写起来比ANT好用
     Ant与Maven对于Gradle,前者编写容易,但功能有限,需要人工操作的过程也多;后者依托于庞大的依赖仓库,因此有着强大的外部依赖管理,但添加本地依赖并不方便,且项目不能灵活修改。而Gradle能很好地结合Ant与Maven各自的优点,可以随意的编写任务并组合成项目,直接利用Maven仓库,并且能很好的支持传递依赖和内部依赖。

2. Gradle抛弃Maven基于XML的繁琐配置,使用的是Groovy的特定领域语言(DSL)来声明项目配置。

Maven: pom.xml

转换为Gradle的 配置脚本为:

3. Gradle的基本组成:Project与Task

       每一个待构建的工程是一个Project,构建一个Project需要执行一系列Task,在自动化中执行的最小单元就是task

4. Gradle是通过build.gradle文件来管理依赖和配置,Maven是配置pom.xml文件

5. Java默认的项目布局:

src/main/java  --目录包含java源代码;

src/test/java  --目录包含测试用的源代码

二.  Selenium

1. selenium主要包含: 
Selenium IDE -->测试的录制
Selenium RC(Remote Control)-->编写及运行
Selenium Grid-->测试的并行处理

2. Selenium WebDriver 工作原理

 三. Cucumber

1. 是一个命令行工具

2. 用自然语言来描述客户想要的系统行为,如:Feature和Scenario

3. 用标签来组织场景

4. 自带强大的HTML自动化测试报告

5. 采用Gherkin语法,以".feature"作为拓展名

6. Grerkin语法关键字:

-- Feature (功能)

-- Scenario (场景)

-- Background (背景)

-- Given, When, Then, And, But(Steps)

-- Scenario Outline + Examples

-- "*" (Doc String)

-- | (Data tables)

-- @ (tags)

-- # (Comments)

7. Cucumber的工作原理

    

四. Locate element