Fitnesse初体验
最近公司开始尝试进行接口自动化测试工作、很荣幸我接到这个任务,原来想使用jmeter或者soapui进行操作、由于本人会点python编程、最后还是选择了Fitnesse 做web接口自动化测试,这里就记录了一些学习使用的过程;
**FitNesse介绍**
•FitNesse是一套软件开发协作工具。
•伟大的软件需要协作和交流,FitNesse可以帮助大家加强软件开发过程中的协作。能够让客户、测试人员和开发人员了解软件要做成什么样,自动完成它实际是什么样,帮助建议软件最终是否达到了设计初衷。在项目早期的开发过程中,它是在早期对一些复杂问题解决(使他们正确)的很有价值的协作方式。
•FitNesse是一套软件测试工具。
•FitNesse是一个轻量级的、开源的框架,能够帮助开发团队方便的定义验收测试(Acceptance Tests),通过在web页面上简单的输出和预计输出的表格就可实现,并且可以运行这些测试以确定是否通过。
•FitNesse可以作为一个wiki,FitNesse wiki可以很方便的创建和编辑页面。
•FitNesse是一个Web服务器,不用过多的安装配置,很方便使用。它不需要配置,直接在机器上面运行就可以通过浏览器访问。
**FitNesse框架原理简介**
FitNesse框架包含Wiki、Test system、Fixtures,其中
1、Wiki:展现具体的Test Case、Test suite、甚至是Test Requirement;
2、Test system:Fitnesse的执行引擎,包括两个部分:Slim、Fit
3、Fixtures:真正的测试代码
**一、下载和配置FitNesse**
1、下载、安装
进入FitNesse官网下载页面:http://www.fitnesse.org/FitNesseDownload,下载最新的fitnesse-standalone.jar。
下载完毕并解压:
打开command命令行窗口,cmd转到fitnesse.jar所在的目录,比如E:\me\fitnesse(简单点的方法:找到你解压的文件地址在导航栏直接输入cmd打开)
2、运行命令:java -jar fitnesse-standalone.jar -p 8089 ,默认为80端口,如需其他端口,则-p加指定端口()
文件成功执行成功后,FitNesse启动情况如下。
3、打开FitNesse,只需要在浏览器输入http://localhost:<portnumber>,本例子是http://localhost:8089(自己本地的环境)
**今天我们这里只介绍基本的操作、因为我使用的python语言进行底层框架的编写、在后续我们回慢慢介绍**
(python底层的代码)
**二、创建测试用例并执行**
在打开的页面,可看到Edit和Add菜单,点击Add,可看到Suite page(测试集页)和Test page(测试用例页)。当我们创建某个测试集页,所有在该页面上的测试脚本在执行时都会被执行。为讲解方便,下面以创建某个测试用例页为例。
1、我们先创建一个测试用例集:
进入首页点击Edit按钮(创建一个项目)
!
2、创建项目集成功进入项目创建第一个接口测试用例
进入项目详情点击add选项选择TestPage创建第一个接口测试用例
点击Save按钮保存
3、编写测试用例
进入创建好的case单元点击Edit进入待编辑页面
#字段的定义:enter(写入) presss(执行的方法) check(校验)
!style_ignore(!style_collapse_rim[写上你要测试接口的名称])
!| ActionFixture | #fitnesse自带的接口调用方法
|start|Core.Core || #调用底框架的具体文件
|enter|url |${host}接口的地址| #${host}全局的请求路径
|enter|data |{接口的入参}| #post方法使用data、get方法使用params
|enter|expect_result|{"type":"object","properties":{"errors":{"type":"null"}}}|
#数据返回的格式、当前不需要进行处理
|enter|validator |JSON_SCHEMA | #fitnesse数据交互使用的方法json_schema
|press|post_by_dict3| #请求方法:根据底层方法定义常用post\get\delete
|check|actual_result| 接口返回的数据 |
|check|success |True | #校验接口返回的数据success是否为True
|check|http_code |200 | #校验接口返回code是否正确
|check|diff_result |PASS | #验证接口是否通过测试
4、执行
哈哈 我们执行成功啦(是不是很简单)
注意:
因为fitnesse是java程序编写的所以我们的运行肯定是需要先配置java环境的
**总结:**
本文介绍FitNesse框架原理、安装以及通过简单case一步步说明如何入门。该工具本身带有user guide和很多用例演示,大家可进一步深入了解
后续呢我们会针对:底层框架、fitnesse接口数据之间的传递、全局变量的设置进行具体讲解(哈哈不足之处还望批评)