soapui + groovy 接口自动化测试 第三章

本篇闲扯淡

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

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

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

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

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

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

初步完成的时候,针对该自动化项目额组织对其他测试人员数次培训。因其他测试人员的对项目不甚了解及java语言的贫乏,结果不理想;

这个项目难道只有我能用,难道要束之高阁了么。。。

过了数月后(我已经在用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脚本

时间: 2024-08-07 23:55:04

soapui + groovy 接口自动化测试 第三章的相关文章

soapui + groovy 接口自动化测试 第五章

正式开始,敌军还有三十秒到达战场! 首选从创建项目开始 1.打开soapui,右键Projects-New Rest Projects-弹出框输入http://192.168.1.100/server?param=abc如下图: 点击OK 2.观察生成的soapui项目 http://192.168.1.100 :: 测试的地址 Server[/server]  :: Resource地址 GET Server :: http请求方法为GET(我们可以一个接口创建一个GET请求,而不是所有接口都

soapui + groovy 接口自动化测试 第四章

Groovy入门教程    ---纯摘抄 一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,Groovy 抛弃了java烦琐的文法.同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员们”的福音. 二.开发环境 1.  jdk 1.5以上 2.  eclipse+groovy plugin(支持Groovy 1.5.7)

soapui + groovy 接口自动化测试 第二章

虽然我不太喜欢写工具如何使用,但作为以后的铺垫不得不先描述工具能做什么: 1.soapui简介 SoapUI是一个自由和开放源码的跨平台功能测试解决方案.通过一个易于使用的图形界面和企业级功能,SOAPUI让您轻松,快速创建和执行自动化功能.回归.合规和负载测试.在一个测试环境,SOAPUI提供完整的测试覆盖,并支持所有的标准协议和技术. ---摘自百度百科 简单来说soapui就是能够做接口自动化及接口压力测试的工具 2.soapui版本 soapui分为soapui pro收费版及soapu

soapui + groovy 接口自动化测试 第八章

一波小团战!  1.操作excel的groovy脚本 package pub import jxl.* import jxl.write.Label import jxl.write.WritableWorkbook class ExcelOperation { def xlsFile def workbook def writableWorkbook def ExcelOperation(){} //设置xlsFile文件路径 def ExcelOperation(xlsFile){ this

MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理

目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理 MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案 先来了解下各项的引用关系 FytCms.DALMSSQL=>Domain.Entity.EntityFramework BusinessLogic.Server=>FytCms.D

soapUI+groovy 接口测试之部分groovy使用记录

1, 写入值(30,31),更新到数据表的多条记录. sqlStr = "select column_id from 1dcq_shop_column2  where shop_id = '"+ db_Shop_id + "'" def dbSettings=[] def db_sub_column_id ="" sqlResult = sql.eachRow(sqlStr) { dbSettings << it.toRowResul

python接口自动化测试(三)

刚刚放假回来我想很多人都还没有缓过来吧 这次介绍一个python自带的测试框架 unitest 1 #!/usr/bin/env python 2 # -*- coding: utf_8 -*- 3 4 import requests 5 import unittest 6 7 class Testswcw_back(unittest.TestCase): 8 def setUp(self): 9 print "接口测试开始" 10 11 def tearDown(self): 12

接口自动化测试 (三)request.post

上一节介绍了  requests.get()  方法的基本使用,本节介绍  requests.post()  方法的使用: 本文目录: 一.方法定义 二.post方法简单使用 1.带数据的post 2.带header的post 3.带json的post 4.带参数的post 5.普通文件上传 6.定制化文件上传 7.多文件上传 一.方法定义: 1.到官方文档去了下requests.post()方法的定义,如下: 2.源码: 3.常用返回信息: 二.post方法简单使用: 1.带数据的post:

MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案

目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理 MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案 上一章介绍了,如何建数据层和业务,以及各层之间的引用过关系 这章主要讲解怎么使用业务层的方法. 以及普遍遇到的EF关联查询的问题解决方案 1.在FytMsys.Web文件夹下建Fyt