对于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. Leetcode: Trapping Rain Water II

    Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevati ...

  2. G面经prepare: X-Straight

    Define “X-Straight” as X cards with consecutive numbers (X >= 3). Determine if the deck can be fu ...

  3. [原创] 在spring 中使用quarts

    1.使用maven加载 quarts 的jar <dependency> <groupId>org.quartz-scheduler</groupId> <a ...

  4. oracle 密码忘记、密码遗失解决办法

    忘了密码可以用操作系统验证方式登入SYS用,然后可以随意修改密码了.登入方法:1.进入命令提示符下,输入:sqlplus /nolog 回车进入SQL.2.在SQL环境下,输入:SQL> con ...

  5. php-wamp滴定仪网站的根目录

    1.点击wamp中的Apache中的httpd.conf:如下图修改两处 2.进入wamp的安装目录下:修改这两个文件(目的:修改wamp中网站目录) 内容如下图: 关闭wamp服务:重启wamp

  6. 。。。Hibernate中mappedBy属性。。。

    今天在学习Hibernate中,感觉这个mappedBy这个注解属性有点小难度.不过理解之后,还是阔以的! 首先,mappedBy这个注解只能够用在@OntToOne,@OneToMany,@many ...

  7. sql查询 所有被锁定的表

    --sql查询  所有被锁定的表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName ...

  8. struts2中的ognl详解,摘抄

    http://blog.csdn.net/tjcyjd/article/details/6850203     很全很细致,自己再分析原理进阶

  9. jquery选项卡切换

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  10. delphi 读取excel 两种方法

    http://www.cnblogs.com/ywangzi/archive/2012/09/27/2705894.html 两种方法,一是用ADO连接,问题是Excel文件内容要规则,二是用OLE打 ...