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

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

5.1 自动化架构规划

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

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

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

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

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

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

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

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

5.2 CommonClass文件夹内容讲解

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

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

<?php

/**

 * 具体的接口调用操作

 *

 * @author SXF

 */

class CurlOperation {    

    public static functionFetch($url, $get_params, $post_params=null) {

        $str = '';       

        if(isset($get_params) && !empty($get_params)) {

            $arr =array();

            foreach ($get_paramsas $key => $value) {

               array_push($arr, $key . '=' . urlencode($value));

            }

            $str =implode("&", $arr);

        }

        if (strpos($url,"?") !== FALSE) {

            $url = $url .'&' . $str;

        } else {

            $url = $url .'?' . $str;

        }

        $ch = curl_init();

        curl_setopt($ch,CURLOPT_URL, $url);

        curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch,CURLOPT_HEADER, 0);

        curl_setopt($ch,CURLOPT_HTTPHEADER, array(

           "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)",

           "Accept-Language:
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值