Cucumber java + Webdriver(一)】的更多相关文章

一.打开Eclipse,新建一个maven项目,打开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/POM/4.0.0 http://maven.apache.org/xsd/maven-…
cucumber java从入门到精通(4)Scenario Outline及数据驱动 到目前为止,我们的TodoList类工作良好,不过离我们的预期--任务清单系统还是有不少差距,究其原因不过如下: 我们的feature不太完毕,没有测试任务清单的增删改查完成等功能: 我们输入的数据太过单一,只测试了1种输入输出的情况: 下面我们将着手解决数据输入太过单一的问题.我们将使用Scenario Outline技术. 什么是Scenario Outline 什么是Scenario Outline呢,…
cucumber java从入门到精通(3)简单实现及断言 上一节里我们定义了step的java代码实现文件,step就是测试步骤及断言的集合,我们先定义出来,以后可以驱动开发以及在持续集成时重用. 这一节我们将近距离细观一下所谓的step java实现.以下面的代码片段为例: public class TodoStep { //1 @假设("^我的任务清单里有(\\d+)个任务$") //2 public void iHaveSomeTasks(int totalTasks) thr…
cucumber java从入门到精通(2)用代码定义步骤 上一节里我们定义了feature文件,feature文件就是自然语言描述的用例文件,它有一定的章法,具体的潜规则是: 使用Feature关键字定义定义功能名称 使用Scenaio关键字定义定义测试场景名称 使用Given关键字定义定义前置条件 使用When关键字定义定义测试步骤 使用Then关键字定义定义断言 Feature文件是测试人员与客户/产品经理进行需求交流的文档工具,定义好Feature文件以后,我们的测试功能点实际上已经是定…
cucumber java从入门到精通(1)初体验 cucumber在ruby环境下表现让人惊叹,作为BDD框架的先驱,cucumber后来被移植到了多平台,有cucumber-js以及我们今天要介绍的主角cucumber-jvm. 先来看一下cucumber,简单来说cucumber是一个测试框架,就像是juint或是rspec一样,不过cucumber遵循的是BDD的原则. BDD就是行为驱动开发,是一种软件开发流程或者说是软件开发实践,具体学术化的东西这里就不介绍了,归根到底,cucumb…
0x00 背景 WebDriver作为Selenium项目的工具之一,可以高效的操作各类主流浏览器包括诸如:chrome.IE.Firefox.Safari,并同时支持windows和*nux系统.WebDriver的初衷是为了自动化测试,之后随着爬虫的兴起,由于不用分析和目标网站繁琐的交互数据包,使用方便加上较高的效率以及一定的反反爬虫特点,在针对特定网站内容爬取上,应用较多. 由于自己最近的一个项目需求,对WebDriver进行了学习和应用,为了保持和系统后台语言的一致性(后台使用sprin…
网上现有的解决方案要么是windows下的,要么是python的,搞了一天终于解决了,记录如下. 1 下载chrome linux版和对应版本的webdriver,我这里使用的是chrome66和chromedriver2.38,selenium版本选最新的就行,我这里用的是3.11 chrome:自己找 selenium:自己找 chromedriver:http://npm.taobao.org/mirrors/chromedriver/ 2 java代码 System.setPropert…
1.什么是参数化 实际设计测试用例过程中,我们经常会用等价类.边界值这样的方法,针对一个功能进行测试数据上的测试,比如一个输入框,正向数据.逆向数据,非法输入等等 2.Cucumber的数据驱动 同上篇文章一样,需要在我们在工程里新建一个testParamDemo.feature特性文件,在这里用参数化会显示如下: 3.参数化的实际应用 验证计算器多组数字相加,并计算功能 3.1.编写测试用例文件 在工程里新建一个testParamDemo.feature特性文件 #cucumber参数化使用…
我们来看一下官网提供的代码写法,即最原始的写法: driver.findElement(By.id("kw")).click() 这样写是没任何问题的,但这样没有把元素对象,数据,业务逻辑分离,达不到装逼的效果,为了使这三方面分离,我们先来分析一下这句代码:这里面涉及到了三个对象:driver对象,By对象,WebElement对象.由于现在大多数人使用了所谓的Page-Object模式,具体请参考我另一篇博客: http://www.cnblogs.com/zhangfei/p/34…
去网上下载一个firebug.xpi(对应版本, 我的ff是17,可以使用firebug-1.11.4.xpi,最好使用非firefox浏览器下载,不然提示你直接安装到firefox) @Before public void setUp() throws Exception { /*正常启动firefox System.setProperty("webdriver.firefox.bin","c:\\Program Files\\Mozilla Firefox\\firefo…