zoukankan      html  css  js  c++  java
  • soapui + groovy 接口自动化测试 第三章

    本篇闲扯淡

    第一次做接口测试是无意的,当时正在做性能测试,然后要先验一下功能通过否,就用lr脚本跑了一遍功能,就这样第一次没了;

    第二次做接口测试时,领导说要自动化,然后我研究了selenium及windows客户端,再然后得知先做接口的(万变不离其宗嘛);

    思虑良久用啥去做呢,首选抛弃了lr这肯定不合适,简单的还行复杂的就GG了。然后祭出了我的java,先学习了段时间httpclient,就进行简单的请求编写了;

    在编写过程中发现我们内部请求是要传加密字段的,然后就去请教我们开发了;

    首先我们开发给了我接口开发文档,里边有各种接口的参数及类型、加密规则等等,最意外的是,开发那有一个生成加密模拟发送请求的脚本,意外收获虽要之然后潜心研究; /庆幸

    经过月余潜心研究修改,不但将原脚本需要每次手动修改变为自动化获取,更是增加了get/post请求、各种json解析、数据校验、读写数据库、读写外部文件、生成日志等等,变成了一个完善的自动化项目。等我开发完成的时候,额意识到额写了一套接口测试的框架; /窃喜

    初步完成的时候,针对该自动化项目额组织对其他测试人员数次培训,结果不甚理想;

    过了数月后(我已经在用soapui进行接口自动化开发了),开发要做一个内部服务器端异常测试,明显没前台界面(前台也是模拟不了的,例模拟支付宝回调),结果我们开发找到了我,正好我在原先封装好的基础上,进行构建了新的测试类,完成了这次测试;

    又过了一周左右,我们开发貌似意识到我写的那个项目的重要性,然后给我要了过去,让我给他讲了讲都杂用的,他说他要整合进他们项目用来做单元测试用!/得意

    后来这套系统用于一些接口验证及生成性能测试数据,也算有所用。

    此卷终

    第三次接口测试,此时就是使用的soapui工具了。

    一开始这个工具我是不会的,以前听过但是没研究过;之所以使用这个工具,是因为我们公司招聘了一个做自动化部署的大拿,他建议用这个工具;

     一说要用这个工具,就正好解脱了当时我那个java项目的困局, 当然嘛能学个新东西也是希望的;

    开始时对这个工具处于懵懂的状态,然后百度查他有哪些版本,收费不,使用的脚本语言是什么;

    首先查到它有个收费版功能强大,我就去网上搜破解版---有收费就有破解--常识! 然后还查到他支持groovy/javascript语言,我选择了groovy--因为有java基础;

    一开始我是没有去看soapui工具咋使用的,我学习了两个星期groovy的语法,因为我想soapui工具的功能我尽量少使用,大部分功能用soapui的方法及groovy脚本去实现,这样看起来高大上----我是一个有梦想的打野

    groovy脚本的学习我是在eclipse下进行的,有方法提示学起来更简单,两周后我开始打开soapui工具进行学习(实际上使用soapui并不需要掌握多少groovy语言,现用现学即可满足);

    学习soapui工具的时候,我是看了一本中文帮助文档,然后对照书本进行实际的操作,慢慢理解就好了,理解了大部分功能但是很多功能我根本没用过,因为我一开始就定下了用groovy脚本去代替大部分功能,因此很多soapui自带的功能我并不需要(仅便于我理解与学习);

    在真实的写项目之初,我先写一个接口进行测试,一个通过了然后在慢慢的把需要的都加上,这样一点点的有了个项目的雏形;

    因为我们的接口是要求传加密字段的,这个加密的脚本需要用groovy语言实现,我首先在eclipse里实现了这个脚本,然后封装成类,导入到soapui包里,这个以后介绍;

    等项目初步完成后,又面临新的问题;我们的计划是将soapui项目部署到服务器上,在每次开发提交代码完成后,自动执行测试任务,我们只需收到邮件就行啦;

    我的自动化项目要部署到jenkins上,只要在jenkins上输入执行的命令(bat/sh等),然后开始研究windows下的testrunner.bat及linux下的testrunner.sh,当然在研究过程中对soapui更加了解一些;

    最后在我们自动化部署大拿的帮助下,终于将项目部署在了jenkins上并且实现了git提交代码,jenkins自动获取最新版本;

    等这些都做的差不多了,觉得是时候把他们记录下来了;

    下篇介绍groovy脚本

  • 相关阅读:
    分位数(quantiles)、Z-score 与 F-score
    学术研究中的 NLP
    学术研究中的 NLP
    国内外免费电子书(数学、算法、图像、深度学习、机器学习)
    国内外免费电子书(数学、算法、图像、深度学习、机器学习)
    中英文对照 —— 缩略词
    内核编译及模块相关命令使用
    UVA 156 (13.08.04)
    hdu3117之矩阵快速幂
    系统运维技巧(三)——利用dd命令临时增加交换分区
  • 原文地址:https://www.cnblogs.com/mayibanjiah/p/4538001.html
Copyright © 2011-2022 走看看