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. Java反射机制简单学习

    java中除了基本数据类型,几乎都为对象.例如 Person p=new Person(); 这句语句表明了p是Person类的一个实例对象.但其实,Person也是一个实例对象,它是Class类的实 ...

  2. 【linux】ubuntu16.04安装vncserver实现远程访问图形界面

    # 步骤 1 - 安装 X11VNC  sudo apt install x11vnc -y # 步骤 2 - 配置访问密码 sudo x11vnc -storepasswd /etc/x11vnc. ...

  3. 【shell】常用的正则表达式

    一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9 ...

  4. 编写你的第一个web应用程序1

    在shell中运行以下命令来检查django是否已安装及其版本 python -m django --version 如果django已经安装,你应该看到安装的版本号,如果还没有安装,你会看到一个‘n ...

  5. C# 操作SQLServer SMO中遇到的几个问题

    业务需求:需要读取数据库中的所有库,得到库之后可以再做后续操作.(win 7  vs2010 sqlserver2008r2) 在读取数据库名的时候,就需要用到Microsoft.SqlServer. ...

  6. Rabbitmq+Nginx+keepalived高可用热备

    摘自: http://www.cnblogs.com/wangyichen/p/4917241.html 公司两台文件服务器要做高可用,避免单点故障,故采用keepalived实现,其中一台宕机,依靠 ...

  7. C/C++连接查询MYSQL

    1. [代码][C/C++]代码 #include <mysql/mysql.h>#include <stdio.h>#include <string.h>int ...

  8. listen 64

    Winning Athletes Engage in Arms Raise You see it when you watch almost any game: there's a touchdown ...

  9. Promise 入门与使用

    Tags: ECMAScript6 参考资料 promises-book Promise对象 we-have-a-problem-with-promises Promise最初被提出是在 E语言中, ...

  10. 对python生成器特性使用的好例子

    1.对序列进行分组的函数(摘自web.py源码utils.py文件中) def group(seq, size): """ Returns an iterator ove ...