对于web接口测试,做一下总结。

接口测试总结

1. 接口url格式:http://www.xxx.com/a/bbb.html
2. 接口url后面接的参数格式:“?参数名=参数值&参数名=参数值”;
3. 要清楚不同的参数名分别对应有多少种参数值;
4. 要清楚不同的参数值组合分别对应有多少种接口返回结果(即访问url后返回的json对象)。 
比如:有一个参数名为userName,一个userName的参数值对应的就是数据库表中一条用户记录的userName字段值,所以为了能够有足够的参数值作为测试数据,我们需要在数据库表中添加足够条数的用户记录。对于有多少种参数值,就要在数据库表中做多少条记录。这一部分,就是接口测试的数据准备部分。
在准备好接口测试的测试数据后,我们可以用PowerShell写一个脚本用来测试我们的接口,PowerShell 3.0提供了Invoke-WebRequest命令,可以很好的实现对于web的访问。但是Win7下默认的PowerShell是2.0.我们可以在PowerShell中输入$psversiontable查看当前PowerShell的版本。将PowerShell升级到3.0的过程可以在网上查到,只需按教程上的顺序进行下载安装即可(若遇到无法安装的错误信息,可能是因为Services中Windows Update服务被禁用了,需要手动开启)。重启电脑后,PowerShell就完成了到3.0的升级。之后我们就可以用Invoke-WebRequest命令来编写web接口测试的脚本了。

接口测试脚本

代码如下(本地文件名为iUriTest.ps1):

chcp 936
Write-Host "请输入以下接口信息" -ForegroundColor Yellow
$iUri = Read-Host "接口uri"
$i1Name = Read-Host "接口参数名1"
$i2Name = Read-Host "接口参数名2"
while($true){
$tip1 = "输入接口参数"+$i1Name+"的值:"
Write-Host $tip1 -ForegroundColor Cyan
$i1Value = Read-Host
$tip2 = "输入接口参数 "+$i2Name+"的值:"
Write-Host $tip2 -ForegroundColor Cyan
$i2Value = Read-Host
$uri = $iUri+"?"+$i1Name+"="+$i1Value+"&"+$i2Name+"="+$i2Value
$back = Invoke-WebRequest -Uri $uri
$back.Content
}

在iUriTest.ps1文件上右键用PowerShell运行,如下:

基于PowerShell 3.0的web接口测试的更多相关文章

  1. 基于Spring 4.0 的 Web Socket 聊天室/游戏服务端简单架构

    在现在很多业务场景(比如聊天室),又或者是手机端的一些online游戏,都需要做到实时通信,那怎么来进行双向通信呢,总不见得用曾经很破旧的ajax每隔10秒或者每隔20秒来请求吧,我的天呐(),这尼玛 ...

  2. 用DotNetOpenAuth实现基于OAuth 2.0的web api授权 (一)Getting Start

    1. 下载 源码下载 2. build solution,创建虚拟目录: 右健MyContatacts/MyPromo项目,选择Properties,点击左边的Web,点击 Create Virtua ...

  3. 【转】使用Python的Requests库进行web接口测试

    原文地址:使用Python的Requests库进行web接口测试 1.Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写, ...

  4. 第三篇 基于.net搭建热插拔式web框架(重造Controller)

    由于.net MVC 的controller 依赖于HttpContext,而我们在上一篇中的沙箱模式已经把一次http请求转换为反射调用,并且http上下文不支持跨域,所以我们要重造一个contro ...

  5. 第二篇 基于.net搭建热插拔式web框架(沙箱的构建)

    上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章很多人看了以后,都表示不解,觉得不知道我到底 ...

  6. 谈谈基于OAuth 2.0的第三方认证 [下篇]

    从安全的角度来讲,<中篇>介绍的Implicit类型的Authorization Grant存在这样的两个问题:其一,授权服务器没有对客户端应用进行认证,因为获取Access Token的 ...

  7. 谈谈基于OAuth 2.0的第三方认证 [中篇]

    虽然我们在<上篇>分别讨论了4种预定义的Authorization Grant类型以及它们各自的适用场景的获取Access Token的方式,我想很多之前没有接触过OAuth 2.0的读者 ...

  8. 谈谈基于OAuth 2.0的第三方认证 [上篇]

    对于目前大部分Web应用来说,用户认证基本上都由应用自身来完成.具体来说,Web应用利用自身存储的用户凭证(基本上是用户名/密码)与用户提供的凭证进行比较进而确认其真实身份.但是这种由Web应用全权负 ...

  9. 使用 Jmeter 做 Web 接口测试

    接口测试概述 定义 API testing is a type of software testing that involves testing application programming in ...

随机推荐

  1. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. Facebook开源项目:我们为什么要用Fresco框架?

    (Facebook开源项目)Fresco:一个新的Android图像处理类库 在Facebook的Android客户端上快速高效的显示图片是非常重要的.然而多年来,我们遇到了很多如何高效存储图片的问题 ...

  3. yii2.0分页

    本实例是对商品列表进行分页 1.Controller中,商品列表的方法actionList 引用分页类 actionList中: $goods_info=Goods::find()->joinW ...

  4. sql server 2008 安装过程与创建建sql server登录用户

    1.sql server 下载安装包路径:http://pan.baidu.com/s/1qWuzddq 2.安装过程图解教程 ,参照网址:http://jingyan.baidu.com/album ...

  5. html 复习

    通过几次修改网页的经历,发现相关基础知识之薄弱,不得不再次花时间复习一遍.希望这是最后一次. 一 通用声明 HTML5 <!DOCTYPE html> HTML 4.01 <!DOC ...

  6. :has(selector) 匹配含有选择器所匹配的元素的元素

    描述: 给所有包含 p 元素的 div 元素添加一个 text 类 HTML 代码: <div><p>Hello</p></div> <div&g ...

  7. 将UTF8编码的3字节中英文转成2字节中英文.

    1. 首先要考虑将String转成一个bytes的数组, 每个汉字是3个bytes, 英文或者标点是1个byte. 2. 然后去判断一下每一个byte的前面几个bit, 看下面的表, 1个byte的字 ...

  8. java笔试题整理

    exit()是system类的方法,如system.exit(); 如果某个方法是静态的,它的行为就不具有多态性. 类后面没有括号,方法必须要有返回值.如果没有返回值,要写void 构造函数不具有多态 ...

  9. rsync 只同步指定类型的文件

    需求: 同步某个目录下所有的图片(*.jpg),该目录下有很多其他的文件,但只想同步*.jpg的文件. rsync 有一个--exclude 可以排除指定文件,还有个--include选项的作用正好和 ...

  10. iOS抓包Charles 操作

    今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用Fidder进行抓包 http://blog.csdn.net/jiangwei0910410003/article/details/198 ...