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. php soap使用示例

    soap_client.php <?php try { $client = new SoapClient( null, array('location' =>"http://lo ...

  2. mooc课程mit6.00.1x--problem set1解决方法

    counting vowels: 计算字符串中含有元音字母aeiou的数量 char = 'azcbobobegghakl' num = 0 #利用in方法直接查找字符串char中含有的元音字母数量 ...

  3. HNOI2017

    本蒟蒻表示终于把$HNOI2017$全AC了... 万岁! 附上各个题的题解: $DAY1$: $T1$: BZOJ4825: [Hnoi2017]单旋 $T2$: BZOJ4826: [Hnoi20 ...

  4. ProgressBar+WebView实现自定义浏览器

    当我们使用浏览器浏览网页时,总会看到下图页面的样子,上面是一个地址栏,地址栏下面显示加载进度,加载完成后进入页面内容,带颜色的进度条总是少不了的,那样子看起来也舒服,如何实现自定义手机浏览器功能呢? ...

  5. 用keytool创建Keystore和Trustsotre文件只需五步

    用keytool创建Keystore和Trustsotre文件 JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输.keytool是一个工具可以用来创建包含公 ...

  6. es6技巧写法

    为class绑定多个值 普通写法 :class="{a: true, b: true}" 其他 :class="['btn', 'btn2', {a: true, b: ...

  7. 使用electron静默打印

    1.使用electron打印的理由 很多情况下程序中使用的打印都是用户无感知的.并且想要灵活的控制打印内容,往往需要借助打印机给我们提供的api再进行开发,这种开发方式非常繁琐,并且开发难度较大. e ...

  8. git删除远程分支【转】

    本文转载自:https://my.oschina.net/tsingxu/blog/84601 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放  ...

  9. iOS开发数据库-FMDB

    前言 FMDB是以OC的方式封装了SQLite的C语言API,使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码:对比苹果自带的Core Data框架,更加轻量级和灵活:提供了多线程安全的数据库操 ...

  10. 如何改变cmd窗口大小

      按下Win+R(windows徽标和R一起按),再输入cmd. 输入mode ,查看当前屏幕的大小,来为后面准备(大概估计数值大小). 再输入mode con:cols=400 lines=400 ...