SoapUI实践自动化测试压力测试持续集成51Testing.docx

上传人:b****9 文档编号:25266169 上传时间:2023-06-06 格式:DOCX 页数:13 大小:1.03MB
下载 相关 举报
SoapUI实践自动化测试压力测试持续集成51Testing.docx_第1页
第1页 / 共13页
SoapUI实践自动化测试压力测试持续集成51Testing.docx_第2页
第2页 / 共13页
SoapUI实践自动化测试压力测试持续集成51Testing.docx_第3页
第3页 / 共13页
SoapUI实践自动化测试压力测试持续集成51Testing.docx_第4页
第4页 / 共13页
SoapUI实践自动化测试压力测试持续集成51Testing.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

SoapUI实践自动化测试压力测试持续集成51Testing.docx

《SoapUI实践自动化测试压力测试持续集成51Testing.docx》由会员分享,可在线阅读,更多相关《SoapUI实践自动化测试压力测试持续集成51Testing.docx(13页珍藏版)》请在冰豆网上搜索。

SoapUI实践自动化测试压力测试持续集成51Testing.docx

SoapUI实践自动化测试压力测试持续集成51Testing

SoapUI实践:

自动化测试、压力测试、持续集成

 

因为项目的原因,前段时间研究并使用了SoapUI测试工具进行自测开发的api。

下面将研究的成果展示给大家,希望对需要的人有所帮助。

SoapUI是什么?

SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现WebService的功能/负载/符合性测试。

该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans和intellij中使用。

SoapUI的安装

下载地址,最好下载最新版本安装包,因为SoapUI是基于java开发的测试工具,3.0以前版本的安装包没有集成JRE,这样就得自己安装和配置java运行环境了。

SoapUI的使用

1.在主界面File菜单,点击“NewRESTProject”,填写你想要测试的url,根据我们的项目TeacherSite中的url举例:

 

参照下图需要在Resource输入框输入/Login/Login路由,并在Params中输入登录时需要的查询参数accountName和password。

2.点击绿色按钮,SoapUI发送登录请求,可以在右侧框中看到登录请求返回的结果。

根据Teachersite项目的业务需求,发送Login请求完成后还得发送SchoolItemChange接口才会返回用户登录成功后认证的Token,如下图中Set-Cookie的值将会在下一个GetOverview接口的请求头中Cookie属性使用:

3.接下来的第三个请求GetOverview如下图,在Header框中添加Cookie属性,值就是上一个请求SchoolItemChange返回的Set-Cookie值:

自动化测试

其实以上三个接口的调用,只是简单的测试接口是否调用正常,如果想要对三个接口的调用进行自动化测试,请看下面的分解:

1.右键每一个接口下的Request请求,如图所示,选择”AddTestCase”项,依次为以上三个接口设置TestCase,在TestSteps下分别有Login,SchoolItemChange,GetOverview三个TestCases。

2.大家有没有发现,在TestSteps下多了个SetCookie项,这是干什么的呢?

这是通过GroovyScript语法,获取上一个请求的返回值(此处是获取SchoolItemChange接口的返回值”Set-Cookie”),并将”Set-Cookie”属性值赋予下一个请求GetOverview的请求头Cookie中,是不是和第2,3条很应景啊?

这样就很好的解决了接口自动化测试,不用复制粘贴请求之间依赖的返回值。

3.接下来,就要为测试的接口添加Assertion断言,点击左下角的,弹出AddAssertion对话框,根据断言注解,选择需要的测试点,例如ResponseSLA表示请求发送后期望的响应时间:

 

ContainsAssertion则表示请求返回的字符串中包含指定的字符串。

此断言适用对比的内容不超过65535个字符,因为Soapui基于java语言编写,这是jvm支持的最大字符个数:

4.为解决上述不能超过65535个字符的问题,则需要为接口添加ScriptAssertion,如下代码,表示将本地文件GetOverview01.txt中的内容与请求返回中HtmlOfPartialView属性的值进行对比,判断两者内容是否相等:

5.双击TestCase,出现如下图,点击按钮,或者选中Login右键选择”Runfromhere”,则依次执行TestSteps步骤,如图所示,出现红色背景Failed字样,查看右下角TestCaseLog框,可以看出是由于Step4GetOverview接口请求的响应时间1272ms大于断言中设置的时间500ms:

发送邮件功能

当你希望某个接口请求的结果以邮件方式通知给你时,如下图所示,右键TestSteps->AddStep->GroovyScript,添加SendEmail脚本,其中Username和Password分别是公司邮件服务器的账户和密码,InternetAddress即为接收的邮箱地址。

”${teacher-test#TestCase#Getoverview#Response}”的顺序依次为

TestSuitename#TestCasename#TestStepname#Response:

 

压力测试

以上是功能性测试,接下来是压力测试,右键LoadTests创建测试用例,

Limit:

60即为压力测试的时间60s,Thread表示多线程,可以同时运行5个线程,TestDelay*Radom,表示随机延迟的时间数。

min表示最小响应时间,max表示最大响应时间,avg为平均响应时间,last表示上一次请求响应时间,cnt表示请求数,tps表示每秒处理请求数,bps表示吞吐率,rat表示错误率。

右键可以为请求添加断言,MaxErrors设置最大的错误数,StepAverage设置期望的平均时间,其他的依次类推:

如下图,可以选择不同策略的负载和性能测试:

最常用的是简单策略(Simple),如果你想运行功能测试,并想在10秒内延迟5个线程,则Threads设置为5,延迟1000s,随机延迟比率0.5(即将导致延误5至10秒)。

方差策略(Variance),Threads为方差的线程数量,Interval为间隔设置所需的值。

例如设置20个线程,间隔60和方差0.8,线程的数量将在第一个15秒从20增加到36,然后又减少到20,45秒后继续减少到4个线程,最后等到60秒时返回到初始值20。

在统计图中我们很容易遵循这个方差:

线性策略(Thread),从一个线程到另一个线程的数量的运行。

它的主要功能是确定某些统计数据变化或事件发生时的水平,例如设置开始和结束线程值(例如1-10),并设置持续时间(此例中每个线程至少30秒)获得准确的测量数据:

 

持续集成

在UI界面进行持续集成:

右键项目名称RESTProject1->选择LaunchTestRunner,出现如下图,在BasicTab页选择TestRunner安装路径:

在ReportsTab页选择报告输出文件夹:

点击Launch按钮,自动执行测试项目。

通过执行命令进行持续集成,以管理员身份打开CommandPrompt对话框,执行如下命令:

testrunner.bat-s'teacher-test'-cLogin-r-j-f'D:

\Trivals\SoapUI\Logs'D:

\Trivals\SoapUI\REST-Project-1-project.xml

该命令行的各个参数含义如下:

∙s:

TheTestSuitetorun,usedtonarrowdowntheteststorun

∙c:

TheTestCasetorun,usedtonarrowdowntheteststorun

∙r:

Turnsonprintingofasmallsummaryreport(seebelow)

∙j:

TurnsonexportingofJUnit-compatiblereports,seebelow

∙f:

Specifiestherootfoldertowhichtestresultsshouldbeexported

其他更多的参数设置,请参考SoapUI 官网地址:

https:

//www.soapui.org/test-automation/running-functional-tests.html

本文概要介绍了SoapUI工具的基本使用方法,也欢迎感兴趣的读者留言补充SoapUI的更多功能使用方法,大家共同学习进步。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1