资料来自网络
1.新建一个DataSource,选择Excel(需要Excel2003格式),选择行号,设置起始行结束行,设置规则,trim等
2.在返回结果的outline中,可以直接选定一个记录进行transfer to 另一个step的参数
3.DataSource循环设置:插入一个DataSource loop步骤,设置循环的数据源和执行步骤
4.插入验证点:选择步骤,选择结果为response,选择preporety contends ,选择message contents assertion 不能动态去从Excel中去取,如果loop中含有非标内容,需要用脚本断
5.用脚本断言方法:post页面,点击地址栏左侧的增加断言的按钮,然后选择Script,打开脚本编辑页面,在页面中getdata,从response中获得对应的值,从DataSource中获得对应的值,用assert 变量.equels(exp)来断言,这样就可以用DataSourceloop功能了。
6.在DataSource中,单击扳手符号,在打开的对话框中可以选择Trims datavalue,对参数去空格处理
7.在testcase详情页面,点击扳手,可以选择fail tast cast on error ,勾选为出错此用例不继续执行;
8.groovy的最后一个调用的方法的返回值,就是当前groovy脚本的返回值,在另外的step中,可以直接使用其return xx来接收返回值作为参数;
9.eclipse的groovy插件 :http://dist.springsource.org/release/GRECLIPSE/e4.3/
10.[错误:参见37]关于可选的的参数,需要用两个用例,在加密的时候使用,在参数化的时候去掉可选参数:
11.loadtest 可以做简单的性能测试
12.在左侧的row窗口中,可以查看到完整的拼装之后的post的请求url
如果一个返回的row中含有多个Set-Cookie
//获取登录的token值,
def cookiesList = testRunner.testCase.getTestStepByName(“DoLogin.html”).testRequest.response.responseHeaders[“Set-Cookie”]
def cookieSessionKey
def cookieSessionKeyValue
for (i=0;i<cookiesList.size();i++){
cookieSessionKey = cookiesList.get(i).split(“;”)[0];
cookieSessionKeyValue= cookieSessionKey.split(“=”)[0];
if (cookieSessionKeyValue == “JSESSIONID”){
log.info “cookie : “+cookieSessionKey.split(“=”)[1]
return cookieSessionKey.split(“=”)[1]
}
}
13.数据源相对路径设置: 选中一个项目,在项目的下方有一个workspace properties,设置其中的project root为${workspaceDir},在脚本中就可以使用作为相对路径
14.设置脚本模板:在soapui左上角点击扳手图标,在弹出框中可以设置脚本模板code templates
15.新建rest的时候,可以从接口文档的事例中通过例子去导入参数,左上角第三个按钮,可以通过special url来更新参数
16.同一个endpoint的多个请求,可以在一个请求下面new resource,这样可以把多个请求放在一起,不用再根节节点新建多个请求
17.选中project 在testsuites ,选项卡中可以选择执行的用例。
18.在用例上右键可以选择enable用例,这样在执行的时候,就可以跳过此用例
19.remove掉测试工程不会真删
20.测试环境地址改变,可以直接在链接的详情页面,打开service EndPoints选项卡,直接修改地址
21.coverage /?此处需要详细了解一下。
27.Mock Service:基于标准的WSDL和XSD文件即可以进行。在MockSerice的Reponse产生后可以自行修改Response返回的内容。完成后对MockService进行启动,并挂接到已有的Request上面即可以开始模拟操作。可以将MockService模拟服务发布为一个WAR包,即将WAR包引入到JAVA项目中后完全就可以作为服务模拟端使用,基本不用再独立开发服务模拟端的代码。(在Mock的工程上右键,可以deploy as war 即可)
28.模拟接口按条件返回:http://www.cnblogs.com/zerotest/p/4670005.html
参数规则:${参数名}
脚本中使用context.setProperty( “参数名“, Math.random()) //返回一个随机数
29.通过webservice地址获得wsdl文件:给定的地址一般分为以下两种:
第一,http://……/WapInterface;我们可以通过在其后加.wsdl(http://……/WapInterface?wsdl)获取wsdl内容,通过另存为.wsdl即可获取wsdl文件。
第二,http://……//GovOnline.asmx;我们使用同样的方法http://……//GovOnline.asmx?wsdl即可方便的得到wsdl文件。
拷贝页面内容后,在首行加上:<?xml version=”1.0″ encoding=”UTF-8″?> ,保存为wsdl文件即可
30.REST请求的Mock,新建一个REST请求,设置请求方式POST/GET,在响应中选择json,编辑生成的json
31 mock的service中有乱码问题,在返回的参数设置中,econding设置为UTF-8即可
32 sqlmap注入
33.修改endpoint:打开request,在service endpoint选项卡中,添加一个endpoint,点击Assign,可以弹出批量修改的节点类型,也可以在TestStep中去修改单个节点的endpoint
34。mockservice脚本返回对应的response:在mockservices下选择dispatch的方式为script:
// Match based on query parameter
def queryString = mockRequest.getRequest().getQueryString()
log.info “QueryString: ” + queryString
if( queryString.contains(“1612121459580001”) )
{
// return the name of the response you want to dispatch
return “Response 1”
}
else if( queryString.contains(“1612121459580002”) )
{
// return the name of the response you want to dispatch
return “Response 2”
}
35.JDBCrequest:可以用于数据库验证 ,可以用建立参数表,用参数传递的方式来做数据库验证
36.testrunner访问层级关系:testRunner.testCase.testSuite.project.testSuites[testSuiteName].testCases[testCaseName].testSteps[testStepName]
37.参数为空的时候,如果需要把参数名带入url中,可以在原始请求request的参数列表中,选中参数,勾选set if parameter is required,保存即可。
38.出错继续执行:双击testcase在上方的扳手处,打开对话框,找到about on error,uncheck Abort on Error
39.datagan常用的数据
40.DataSource loop 只要是数据源和loop step之间的step都不会被loop,可以用一个脚本来调用其他脚本,然后把被调用的脚本disable掉。
41.步骤之间的跳转可以通过testRunner.gotoStepByName( “token”)来进行
42.condition goto 参考:http://www.w3school.com.cn/xpath/index.asp
A.用的是xpath的语法
B.选取节点后,直接通过 = 去比较,即通过返回值设定跳转
43.多个step循环,可以通过一个groovy脚本中testRunner.runTestStepByName(“stepname”),把要循环的step都设置成disable,即可
44.数据传输方式:fromparam,URLparam,bodyparam,form格式的,直接在后方增加参数即可,body和url需要选择传输方式为post,然后在auth中,编辑传输文本,参考:http://blog.csdn.net/xiaojianpitt/article/details/6856536
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/196426.html