在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的测试用例参数化/数据驱动,这一篇我们来使用maven去搭建cucumber框架以及实现测试报告. 5.1 为什么要用maven 我们在第一篇里是用手工下载jar包的形式去配置的我们的cucumber框架,这是出于学习的目的.实际上,真实项目中一般会使用maven去做环境搭建,也会更方便. Apache Maven, 是一个软件(特别是Java软件)项目管理及自动构建工具,基于项目对象模型(POM)概念,Maven利…
1.1 什么是行为驱动测试 说起行为驱动,相信很多人听说过. 行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念.其关键思想在于通过与利益相关者的讨论取得对预期的软件行为的清醒认识,它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法.BDD提供了一种通用的,简单的,结构化的描述语言,这种语言既可以是英语也可以是其他本地的语言,通过他能够很方便让项目成员和业务干系人非常顺畅的沟通需求,而这些干系人可以不懂的任何编程语言和…
在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的使用Tags对测试用例分组的实现方法,这一篇我们用数据表格来实现测试用例参数化. 4.1 什么是用例参数化 实际测试中,我们可能经常会去测试几个类似的场景,或者一些大同小异的测试点. 比如说,测试用户登录的过程中,为了满足测试的完整性,我们会要通过等价类划分等基本方法,去测试登录系统对于有效类--正确的用户名密码:和无效类--错误的用户名密码等场景. 这一些场景的前序步骤都很类似,如果我们对于每一个这样的用例都从头…
在上一篇中,我们搭建好了Selenium + Cucumber + Java的自动化测试环境,这一篇我们就赶紧开始编写我们的第一个BDD测试用例. 2.1 创建features 我们在新建的java项目中,新建一个文件夹名为features,然后右键点击该文件夹,新建一个名为test.feature的新文件. 文件建好后,你会看到他呈现出与普通文本文件不同的样式,并且自带很多内容: 这些内容实际是cucumber给我们提供的feature模板,我们按照这个模板写出第一个测试用例. 我们用自然语言…
场景(Scenarios) 场景是Cucumber结构的核心之一.每个场景都以关键字“Scenario:”(或本地化一)开头,后面是可选的场景标题.每个Feature可以有一个或多个场景,每个场景由一个或多个步骤组成.一个非常简单的场景示例可以是: Scenario:验证帮助功能.给定用户导航到Facebook.当用户单击帮助时,将打开帮助页面. 考虑一种情况,其中我们需要不止一次地执行测试场景.假设,我们需要确保登录功能适用于所有类型的订阅用户.这需要多次执行登录功能场景.复制粘贴相同的步骤为…
1.extentreports 测试报告 pom文件 <dependency> <groupId>com.vimalselvam</groupId> <artifactId>cucumber-extentsreport</artifactId> <version></version> </dependency> <dependency> <groupId>com.aventstack&l…
在上一篇中,我们写出了Selenium + Cucumber + Java环境下的第一个BDD自动化测试用例,这一篇我们说说怎么用标签对用例进行分组. 3.1 Cucumber标签 实际工作中,我们的自动化用例库可能会变得非常庞大.如果只是按照先前的方式去执行,则每一次都会执行全部用例,真实使用时这是不现实的. Cucumber给我们提供一种用标签来组织自动化用例的办法,通过分别在feature和scenario级别上定义一个或多个标签,然后再在runner类里定义要执行的标签情况,就可以达到测…
TestNG是java的一个测试框架,相比较于junit,功能更强大和完善,我是直接学习和使用的TestNG就来谈下TestNG的一些特点吧. TestNG的特点 注解 TestNG使用Java和面向对象的功能 支持综合类测试(例如,默认情况下,没有必要创建一个新的测试每个测试方法的类的实例) 独立的编译时间测试代码运行时配置/数据信息 灵活的运行时配置 主要介绍“测试组”.当编译测试,只要问TestNG运行所有的“前端”的测试,或“快”,“慢”,“数据库”等 支持依赖测试方法,并行测试,负载测…
selenium介绍和环境搭建 一.简单介绍 1.selenium:Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Chrome等.支持自动录制动作和自动生成,Net.Java.Python等不同语言的测试脚本.Selenium 测试脚本可以在 Windows.Linux 和 Macintosh等多种平台上运行. 2.TestNG:TestNG是一个测试框架,其灵感来自JU…
最近在公司搭建了一套基于maven+selenium+java+testng+jenkins的自动化测试框架,免得以后重写记录下 工程目录 pom.xml <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/…