Fitnesse简介
Fitnesse是完全集成的独立wiki(wiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具)和验收测试框架。我们可以简单的理解为:Fitnesse是一个测试框架,并且是一个可以像编写wiki一样编写TestCase的自动化测试框架。
FitNesse是一个轻量级的、开源的框架,能够帮助开发团队方便的定义验收测试,通过在web页面上简单的输出和预计输出的表格就可实现,并且可以运行这些测试以确定是否通过,Fitnesse可以执行单个TestCase,也可以批量执行TestCases。
FitNesse可以作为一个wiki,FitNesse wiki可以很方便的创建和编辑页面。
FitNesse是一个Web服务器,不用过多的安装配置,很方便使用。它不需要配置,直接在机器上面运行就可以通过浏览器访问。
Fitnesse官网:http://www.fitnesse.org/
Fitnesse的特点
是验收测试 wiki。
是一个易于使用的 wiki web 服务器。
易于安装: 只需下载一个 jar 文件并启动它。
规格说明/需求可以用作测试输入。
支持Java,Python语言。
Fitnesse原理
FitNesse框架包含Wiki,Test system,Fixtures,其中
Wiki:展现具体的Test Case、Test suite、甚至是Test Requirement;
Test system:Fitnesse的执行引擎,包括两个部分:Slim、Fit
Fixtures:真正的测试代码
Fitnesse语法链接:
http://www.fitnesse.org/FitNesse.UserGuide.QuickReferenceGuide#GlobalPROPERTIES
快速编写测试用例指南链接:
http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests
Fitnesse下载和运行
下载:http://www.fitnesse.org/FitNesseDownload
启动:进入jar包所在目录,终端执行 java -jar fitnesse-standalone.jar -p 10000
注:端口号可随意
打开浏览器输入:http://localhost:10086/
编写测试代码
1.用idea新建Maven项目:FitnesseTest
2.关键代码HttpUtil.java
说明:该类主要是http请求类,用于接口调用Get或Post请求。
![](https://tva1.sinaimg.cn/large/0081Kckwgy1gl2e5joimcj302a02dmx2.jpg
3.关键代码QueryWeather.java
说明:这是一个查询天气的接口,调用HttpUtil类中的sendGetJin()方法。我们在QueryWeather.java中定义接口请求参数,并设置SET方法,goToResult()方法是整个代码的核心部分,showBody()用于显示接口请求参数,showResult()用于显示接口响应结果,result()是断言,用于校验接口返回结果是否包含预期结果。我们所定义的变量,方法都是用于在Fitnesse页面的显示。
4.pom.xml
说明:本pom.xml配置的jar包有冗余,请根据项目实际需要填写。
08
Fitnesse编写测试用例
1.在编写用例之前,我们在idea中执行以下命令:
mvn dependency:copy-dependencies
maven项目所依赖的jar包会导出到target/dependency目录中。
2.编写测试用例
浏览器输入:http://localhost:10086/
第一步:点击页面edit
第二步:编写如下信息
!1 Welcome to [[FitNesse][FitNesse.FitNesse]]!
!2 !style_blue['''接口自动化平台''']
!4 Today is !today.
|!3 项目名称|!3 项目描述|
|!4 [[!style_code(!style_darkOrange[查询天气])][.FrontPage.WeatherTest]]|!4 查询天气相关接口|
!note Release ${FITNESSE_VERSION}
!contents -R2 -g -p -f -h
!3 Set Test Env Param
!define TEST_SYSTEM {slim}
!define slim.timeout {3000}
!define slim.port {10000}
!define slim.pool.size {50}
!define slim.host {localhost}
!path G:fitnessFitnesseTest argetclasses
!path G:fitnessFitnesseTest argetdependency*
说明:倒数第二行表示所要执行的java类
最后一行表示依赖jar包的位置
第三步:点击Save
第四步:点击问号
!contents -R2 -g -p -f -h
!| QueryWeather |
| #title | Envrionment | Expect | go to result? | show result? |show body?| appid|appsecret|version|cityid|
| 查询天气 | 测试 | "cityid":"101020100" | PASS | | | 83319595|NJRQ5d9y|v9|1|
第五步:点击Save
第六步:点击Tools-Properties
第七步:点击Test-Save Properties
第八步:点击Test
源码
https://github.com/zyjin/FitnesseTest
作者:我是刘先生
地址:https://www.cnblogs.com/cekaigongchengshi/
文章转载请标明出处,如果,您认为阅读这篇博客让您有些收获,不妨点击一下推荐按钮,据说喜欢分享的,后来都成了大神
欢迎扫码关注微信公众号 |