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. viewport详解

    本文主要讲解viewpor相关知识. 参考资料&内容来源 博客园:https://www.cnblogs.com/zaoa/p/8630393.html 博客园:http://www.cnbl ...

  2. 用于string对象中字符截取的几种函数总结——语法、参数意义及用途举例

    1. charAt():返回指定位置的字符. 语法:stringObject.charAt(index) 参数意义:index  必需,指字符在字符串中的下标.需要注意的是,字符串中第一个字符的下标是 ...

  3. Mac root Operation not permitted

      在mac下sudo 拷贝和删除文件时提醒Operation not permitted. 网上查了一些资料,需要执行 chflags nouchg /path/to/item 命令. 赶紧照做, ...

  4. Arcgis SOE学习

    http://blog.csdn.net/lovecarpenter/article/details/53178233 http://blog.csdn.net/lovecarpenter/artic ...

  5. 如何设置确认selinux 模式【转】

    本文转载自:http://blog.csdn.net/lei1217/article/details/48377109 [Description]linux SELinux 分成Enforce 以及 ...

  6. Mac OS 配置Maven

    步骤: 1. 下载Maven tar包 https://maven.apache.org/download.cgi?Preferred=http%3A%2F%2Fmirrors.tuna.tsingh ...

  7. python列表推导式的if-else

    a=[i for i in range(10) if i%2==0]print(a)a=[i if i%2==0 else 'qi' for i in range(10)]print(a) 结果:[0 ...

  8. html的head中的常见元素

    <head></head>中有charset, title,link 操作系统默认的字符编码就是gbk. html的加强 (1)<a href="#" ...

  9. 分享知识-快乐自己:oracle表分区详解

    从以下几个方面来整理关于分区表的概念及操作: 1)表空间及分区表的概念: 2)表分区的具体作用: 3)表分区的优缺点: 4)表分区的几种类型及操作方法: 5)对表分区的维护性操作: 1):表空间及分区 ...

  10. python二进制数据

    一直以来对python的二进制数据搞不清楚. 一.二进制显示格式与实际存储值区别 1.二进制数据在python中以字节(bytes)类型和字节数组类型(bytearray)保存着,前者数据固定,后者不 ...