第五章 自动化框架规划及用例管理(上)

------phpunit 接口自动化测试系列

自动化测试的主要任务是回归测试,所以不可能一个一个地去执行测试用例。要根据测试的目的来组织测试用例,规划测试用例的架构。以方便测试用例的执行,测试用例的调试,出错的时候问题定位以及测试用例的维护等。

5.1 自动化架构规划

   也许是个人原因吧,我比较喜欢测试数据和测试用例分开的规划方式。这样的规划一是比较明确,二是如果出现了问题,我们定位问题的时候比较方便。三是如果被测对象有任何改动,我们只需要修改测试数据就可以了,不需要修改测试用例。

   兼于以上优点,我们现在讨论一下自动化架构的规划。和Web自动化一样,我们做如下规划,在工程中创建以下文件夹:

(1)CommonClass:文件夹下存放所有的公共函数,常用的引用或是通用操作等等。

(2)Source:存放配置文件,图片资源或是其他静态资源。

(3)TestCases:存放具体的测试用例文件,一个测试用例文件最好是针对一个接口的所有测试用例,如果用例比较多可以分成多个测试文件。

(4)TestData:和测试用例文件相匹配的测试数据文件,以xml文件存方数据,数据的组织形式以测试用例为单位对应该xml文件中的一个节点。

(5)TestSuites:根据不同的测试需要,把测试用例组织成不同的测试套件,然后在相应的环境中配置执行。

经过这样的规划,我们再写自动化测试用例的时候,在相应的文件夹下添加对应的内容即可。

5.2 CommonClass文件夹内容讲解

CommonClass中存放的是我们的公共函数,根据我们的接口自动化测试的需要,我们要创建以下几个文件:

(1)CurlOperation.php 此文件的主要功能是实现对接口的调用,根据传递过来的参数,执行不同的代码。代码如下: 

PHP常用的调用PostGet接口的方法,为了实现一些儿接口调用需要登录,我们添加对HTTP头的封装,把Session的内容传递过来。

(2)DataOperations.php 存放相关的数据操作,我们在此处的主要作用就是读取测试数据文件Xml,为测试用例提供测试数据。代码详情如下:

3ReadConfig.php 读取Source下的配置文件config.xml,用于切换host,实现测试用例在不同的环境下运行。具体代码如下:

4TextOperation.php Text文件的读写函数,用于存放登录接口返回的Token的值到Source/token.txt中,当其他的接口需要登录状态的时候,将Token读取出来,封装到Http头中。当然也可以类似于log一样,把错误的内容写到Source/result.txt文件中,具体代码如下:


5Require.php 为了简化代码,我们将需要引用的文件全放到这个文件中,其他的测试用例文件再需要引用的时候,直接引用这个文件即可。具体代码如下:













 

posted @ 2015-04-08 09:54  潜龙9527  阅读(259)  评论(0编辑  收藏  举报