Fitnesse框架简单介绍
1.Fitnesse是什么?
官方的说明:FitNesse is a wiki server. It's also a test execution engine.
Fitnesse是一个wiki server(Wiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。),同时还是一个测试引擎。
从字面上来看,Fitnesse提供了一套用例的写作以及执行的解决方案。
2.Fitnesse有哪些组件?
,---------------.
| Wiki Server |<-------------.
`---------------' v
| ,-------------.
| | Reporting |
v `-------------'
,---------------. ^
| Test System |--------------'
`---------------'
|
|
v
,---------------------.
| System Under Test |
`---------------------' wiki Server: 是用来编写用例的
Test System:是一个client,用来解析用例,并传给SUT来执行
System Under Test:简称SUT,是一个server,用于执行用例
Reporting:主要负责记录执行结果
3. Fitnesse可以用来做什么?
从该框架的作用定位来看,它就是一个用例的编写和执行工具。
如果用它编写接口自动化测试用例,那么它就可以被当作接口自动化测试工具。
如果用它编写web界面自动化测试用例,那么它就可以被当作web界面自动化测试工具。等等。
也就说,只要能够编写某种类型的自动化用例,它就可以当作相应的自动化测试工具。比如还有APP自动化测试。
4. Fitnesse是如何工作的?
在说如何工作前,先说明一下Fitnesse的优点,首先它是开源的,可以在GIT上下载到源代码。其次它提供了多种用于编写用例的表格,并且还提供了多种有利于提高编写用例效率的方法。最后它没有把自己界定为哪种自动化测试工具,这样就可以用它做不同自动化测试。
以做接口自动化的过程为例子,来说明Fitnesse是如何工作的。
1)如果要发送一个POST请求,那么首先需要编写一个测试类(PostRequest),在这个测试类中编写一个或者多个方法来实现一个POST请求(例如:sendRequest(String a,...),a就是POST请求中的参数)
2)在Fitnesse提供的TestPage中编写用例(如下面的例子,具体如何编写用例,可以查看Fitneese官方指导书中的script table)
| Script | post request | ||
| ensure | send request; | a | ... |
3)点击TestPage中Test按钮执行用例。Test System会将上面的表格根据表格类型,一行一行解析,并发送给SUT来执行。执行时,首先第一行就是实例化PostRequest对象,然后第二行就是调用sendRequest方法,其中第二行第三列及后序列为参数(参数的书写方式,还有其他方式,详看Fitneese官方指导书中的script table)。这样就是完成了一个Post请求的发送过程。如果还需要校验响应信息,可以在PostRequest类继续添加方法,然后在表格中添加第三行,用于增加校验的方法。
以上就是对Fitnesse这个框架的简要说明,Fitnesse只提供了编写以及执行用例的方法,并没有任何现成的方法,用于测试接口或者界面自动化测试。为使用者留足了自我发挥的空间,可以自己定义测试方法,可以编写通用的方法,也可以根据业务定制方法,灵活性非常的强。除了主要的用途灵活性,Fitnesse还提供了一套Restful service,可以利用该服务将自动化工程集成到项目的自动化构建中。Fitnesse在编写用例的方法中还添加了很多小技巧,来提高效率和效果。它的优点还有待在实践中慢慢发现。
Fitnesse框架简单介绍的更多相关文章
- Django - Django框架 简单介绍
Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...
- jQuery系列 第一章 jQuery框架简单介绍
第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...
- Python -- Scrapy 框架简单介绍(Scrapy 安装及项目创建)
Python -- Scrapy 框架简单介绍 最近在学习python 爬虫,先后了解学习urllib.urllib2.requests等,后来发现爬虫也有很多框架,而推荐学习最多就是Scrapy框架 ...
- Rebound动画框架简单介绍
Rebound动画框架简单介绍 Android菜鸟一枚,有不对的地方希望大家指出,谢谢. 最近在接手了一个老项目,发现里面动画框架用的是facebook中的Rebound框架,由于以前没听说过,放假时 ...
- 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...
- Live555 实战之框架简单介绍
作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 上一篇文章简要介绍了怎样以共享库的方式交叉编译Live555,今天再来介绍live源代码框架. 先 ...
- Spring框架简单介绍
原文地址: http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多 ...
- MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
我们在做单元测试的时候,常常困扰于数据的持久化问题,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的 ...
- .NET 框架简单介绍
初学.NET肯定会有一系列的疑问,比方(下面为自己的疑问): 1) 何为. NET框架.它都包括哪些东西? 2) 程序集是什么.它是怎样在CLR(通用语言执行时)中执行的? 3) C#与VB.NET同 ...
随机推荐
- The Log-Structured Merge-Tree (LSM-Tree
https://www.cs.umb.edu/~poneil/lsmtree.pdf [Log-Structured Merge-Tree ][结构化日志归并树][要解决的问题]The Log-S ...
- Hadoop实战-Flume之Source multiplexing(十五)
a1.sources = r1 a1.sinks = k1 k2 a1.channels = c1 c2 # Describe/configure the source a1.sources.r1.t ...
- hadoop2.3安装过程及问题解决
三台serveryiprod01,02,03,当中01为namenode,02为secondarynamenode.3个均为datanode 3台server的这里提到的配置均需一样. 0.安装前提条 ...
- CF A. DZY Loves Hash
A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- sprint-boot @ComponentScan扫描多个包
使用@ComponentScan扫描多个包时, @ComponentScan({"ka","com"}) 注意包名不能为org,不然无法启动
- 使用 Spring 容器管理 Filter
当我们用Filter时,往往需要使用一些辅助的service,在普通的java中,只要声明(set,get方法)后在spring-application配置文件中配置就可以了,但是由于Filter与L ...
- poj1753 Flip Game —— 二进制压缩 + dfs / bfs or 递推
题目链接:http://poj.org/problem?id=1753 Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submis ...
- Linux 中安装软件报缺少共享库文件的错误
linux 安装一些如软件 或者相关的模块时,经常报出缺少一些依赖包的 libxxx.so等的共享库文件 首先找到 该共享库文件 然后查看/etc/ld.so.conf 这个文件记录了编译时使用的动态 ...
- poj 2719 Faulty Odometer
Description You are given a car odometer which displays the miles traveled as an integer. The odomet ...
- 【Lintcode】106.Convert Sorted List to Balanced BST
题目: Given a singly linked list where elements are sorted in ascending order, convert it to a height ...