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框架简单介绍的更多相关文章

  1. Django - Django框架 简单介绍

    Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...

  2. jQuery系列 第一章 jQuery框架简单介绍

    第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...

  3. Python -- Scrapy 框架简单介绍(Scrapy 安装及项目创建)

    Python -- Scrapy 框架简单介绍 最近在学习python 爬虫,先后了解学习urllib.urllib2.requests等,后来发现爬虫也有很多框架,而推荐学习最多就是Scrapy框架 ...

  4. Rebound动画框架简单介绍

    Rebound动画框架简单介绍 Android菜鸟一枚,有不对的地方希望大家指出,谢谢. 最近在接手了一个老项目,发现里面动画框架用的是facebook中的Rebound框架,由于以前没听说过,放假时 ...

  5. 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...

  6. Live555 实战之框架简单介绍

    作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 上一篇文章简要介绍了怎样以共享库的方式交叉编译Live555,今天再来介绍live源代码框架. 先 ...

  7. Spring框架简单介绍

    原文地址:  http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多 ...

  8. MoQ(基于.net3.5,c#3.0的mock框架)简单介绍

    我们在做单元测试的时候,常常困扰于数据的持久化问题,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的 ...

  9. .NET 框架简单介绍

    初学.NET肯定会有一系列的疑问,比方(下面为自己的疑问): 1) 何为. NET框架.它都包括哪些东西? 2) 程序集是什么.它是怎样在CLR(通用语言执行时)中执行的? 3) C#与VB.NET同 ...

随机推荐

  1. The Log-Structured Merge-Tree (LSM-Tree

    https://www.cs.umb.edu/~poneil/lsmtree.pdf [Log-Structured Merge-Tree ][结构化日志归并树][要解决的问题]The   Log-S ...

  2. Hadoop实战-Flume之Source multiplexing(十五)

    a1.sources = r1 a1.sinks = k1 k2 a1.channels = c1 c2 # Describe/configure the source a1.sources.r1.t ...

  3. hadoop2.3安装过程及问题解决

    三台serveryiprod01,02,03,当中01为namenode,02为secondarynamenode.3个均为datanode 3台server的这里提到的配置均需一样. 0.安装前提条 ...

  4. CF A. DZY Loves Hash

    A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  5. sprint-boot @ComponentScan扫描多个包

    使用@ComponentScan扫描多个包时, @ComponentScan({"ka","com"}) 注意包名不能为org,不然无法启动

  6. 使用 Spring 容器管理 Filter

    当我们用Filter时,往往需要使用一些辅助的service,在普通的java中,只要声明(set,get方法)后在spring-application配置文件中配置就可以了,但是由于Filter与L ...

  7. poj1753 Flip Game —— 二进制压缩 + dfs / bfs or 递推

    题目链接:http://poj.org/problem?id=1753 Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  8. Linux 中安装软件报缺少共享库文件的错误

    linux 安装一些如软件 或者相关的模块时,经常报出缺少一些依赖包的 libxxx.so等的共享库文件 首先找到 该共享库文件 然后查看/etc/ld.so.conf 这个文件记录了编译时使用的动态 ...

  9. poj 2719 Faulty Odometer

    Description You are given a car odometer which displays the miles traveled as an integer. The odomet ...

  10. 【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 ...