基于PowerShell 3.0的web接口测试

Posted 目前在腾讯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于PowerShell 3.0的web接口测试相关的知识,希望对你有一定的参考价值。

对于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接口测试的主要内容,如果未能解决你的问题,请参考以下文章

使用 Powershell 3.0 切换 IIS 7.5 身份验证“匿名身份验证”?

web服务接口测试

面试官:谈谈你对接口测试的认知,我该怎么接?

关于web服务接口测试的一些问题及答案

Web页面测试和接口测试的区别?

软件测试教程基于postman进行接口测试实战