在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的使用Tags对测试用例分组的实现方法,这一篇我们用数据表格来实现测试用例参数化. 4.1 什么是用例参数化 实际测试中,我们可能经常会去测试几个类似的场景,或者一些大同小异的测试点. 比如说,测试用户登录的过程中,为了满足测试的完整性,我们会要通过等价类划分等基本方法,去测试登录系统对于有效类--正确的用户名密码:和无效类--错误的用户名密码等场景. 这一些场景的前序步骤都很类似,如果我们对于每一个这样的用例都从头…
1.1 什么是行为驱动测试 说起行为驱动,相信很多人听说过. 行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念.其关键思想在于通过与利益相关者的讨论取得对预期的软件行为的清醒认识,它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法.BDD提供了一种通用的,简单的,结构化的描述语言,这种语言既可以是英语也可以是其他本地的语言,通过他能够很方便让项目成员和业务干系人非常顺畅的沟通需求,而这些干系人可以不懂的任何编程语言和…
在上一篇中,我们搭建好了Selenium + Cucumber + Java的自动化测试环境,这一篇我们就赶紧开始编写我们的第一个BDD测试用例. 2.1 创建features 我们在新建的java项目中,新建一个文件夹名为features,然后右键点击该文件夹,新建一个名为test.feature的新文件. 文件建好后,你会看到他呈现出与普通文本文件不同的样式,并且自带很多内容: 这些内容实际是cucumber给我们提供的feature模板,我们按照这个模板写出第一个测试用例. 我们用自然语言…
场景(Scenarios) 场景是Cucumber结构的核心之一.每个场景都以关键字“Scenario:”(或本地化一)开头,后面是可选的场景标题.每个Feature可以有一个或多个场景,每个场景由一个或多个步骤组成.一个非常简单的场景示例可以是: Scenario:验证帮助功能.给定用户导航到Facebook.当用户单击帮助时,将打开帮助页面. 考虑一种情况,其中我们需要不止一次地执行测试场景.假设,我们需要确保登录功能适用于所有类型的订阅用户.这需要多次执行登录功能场景.复制粘贴相同的步骤为…
在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的测试用例参数化/数据驱动,这一篇我们来使用maven去搭建cucumber框架以及实现测试报告. 5.1 为什么要用maven 我们在第一篇里是用手工下载jar包的形式去配置的我们的cucumber框架,这是出于学习的目的.实际上,真实项目中一般会使用maven去做环境搭建,也会更方便. Apache Maven, 是一个软件(特别是Java软件)项目管理及自动构建工具,基于项目对象模型(POM)概念,Maven利…
在上一篇中,我们写出了Selenium + Cucumber + Java环境下的第一个BDD自动化测试用例,这一篇我们说说怎么用标签对用例进行分组. 3.1 Cucumber标签 实际工作中,我们的自动化用例库可能会变得非常庞大.如果只是按照先前的方式去执行,则每一次都会执行全部用例,真实使用时这是不现实的. Cucumber给我们提供一种用标签来组织自动化用例的办法,通过分别在feature和scenario级别上定义一个或多个标签,然后再在runner类里定义要执行的标签情况,就可以达到测…
1.extentreports 测试报告 pom文件 <dependency> <groupId>com.vimalselvam</groupId> <artifactId>cucumber-extentsreport</artifactId> <version></version> </dependency> <dependency> <groupId>com.aventstack&l…
前言 关于Selenium元素定位,这是最后一篇博客. Xpath定位可以实现的功能 Selenium+Java(三)Selenium元素定位中讲的定位方式也可以实现,具体要用那种定位方式要根据自己的实际情况来选择,灵活运用. 成功定位到元素才是王道. 一.Xpath层级与索引定位 以12306官网为例:如果想要定位此li标签中的内容,li标签中的内容如果没有相应的属性,此时可以先定位到li的上层元素div或者ul,由上层元素再向下寻找.也可以由下层元素向上寻找,向上寻找与向下寻找差别不大使用“…
Selenium Java环境配置 上次配置的是C#的环境,今天主要来配置一下Java环境. 首先,对于java环境配置最基础的JDK和JRE 先前我做过配置,这里就不重述了,网上的教程超级多.在基础的环境变量搭建好之后,我选择分别配置Eclipse和IntelliJ IDEA.这里先将Eclipse的配置作下总结.IntelliJ IDEA涉及到Maven,没有接触过这块,打算后期理解了在做配置. 先到官网上下载Java的包,Eclipse创建项目后将包导入. 创建项目:File->New->…
转载请声明原文地址! 本次的主题是利用selenium+java实现结算购买购物车中的商品. 话不多说,本次首先要注意的是谷歌浏览器的版本,浏览器使用的驱动版本,selenium的jar包版本.   谷歌浏览器版本 71.0.3578.80(正式版本) (64 位) 谷歌浏览器驱动   文末免费下载 Selenium版本 selenium-server-standalone-3.4.0 文末免费下载   首先最重要的还是配置环境,首先记住你谷歌浏览器驱动的保存地址,在环境变量后边添加 :+保存地…