
接口测试
文章平均质量分 53
包括接口测试知识,接口测试工具使用及其经验心得,接口测试面试题注意事项等。
幸运的星竹
每天都在奋力拼搏。
展开
-
pytest结合allure做接口自动化
这是一个采用pytest框架,结合allure完成接口自动化测试的项目,最后采用allure生成直观美观的测试报告,由于添加了allure的特性,使得测试报告覆盖的内容更全面和阅读起来更方便。原创 2024-11-16 11:38:58 · 690 阅读 · 0 评论 -
jmeter自定义函数
接下来把打包好的jar包放到${jmeter_home}/lib/ext目录下,重启jmeter,打开函数助手,可以看到有RandomMail这个函数在列。jmeter本身带有很多内带的函数,功能很强大,但是更强大的是,jmeter还可以扩展,让用户自定义函数。对以上代码按照自己的需求重构并打成jar包。下面来看下自定义函数是怎么做的。这样自定义函数就做好了。原创 2024-10-27 14:50:14 · 442 阅读 · 0 评论 -
jenkins邮件通知配置
使用jenkins做持续集成,或定时任务,都对测试执行工作非常有帮助。但完成这些工作后,用邮件通知相关责任人是jenkins的又一给力功能。然后,设置下邮件内容的类型,有两种,plain text: 只能发送文本内容,不能发送图片,视频等;, 并点击高级,添加一个账户,最后勾选Use SSL. 这里用的是163的邮箱,也可以用QQ邮箱。首先,打开管理jenkins, 配置下系统管理员的邮箱账号,这个也是默认发送邮件的邮箱。最后,到邮件通知,配好SMTP服务器,和默认邮件后缀,点开高级,添加一个账户,记住。原创 2024-10-25 08:45:00 · 224 阅读 · 0 评论 -
jmeter中csv data set config的Sharing mode和loop控制器结合使用
综上:在使用csv data set config做参数化的时候,不能忽略sharing mode【线程共享模式】的设置,配合loop控制器的使用,仔细地配置,以达到想要的结果。再次运行脚本,结果:并没有按照3*8=24的次数去循环运行,仍然是16个请求,第3个线程只读取了一条数据;再次运行脚本,看结果:因为循环次数是8,所以一共发送了2*8=16个,最后循环完14条数据,把最后一条数据又循环了2次。再次运行脚本,结果:这里的执行结果是3个线程每个线程都执行了8次,而且都是读取前8条数据,总共24次。原创 2024-10-22 11:01:11 · 509 阅读 · 0 评论 -
jmeter中请求参数:Parameters、Body Data的区别
使用Body Data时,Content-Type可传application/x-www-form-urlencoded或application/json,两者的区别是数据格式不同。. 使用Parameters时,Content-Type不传,默认为application/x-www-form-urlencoded, 若传application/json出错。详细来解释,post请求的参数有两种传递方式,一种是键值对的map格式,一种是json格式。精确的对于post请求的说法是,原创 2024-10-21 15:08:46 · 464 阅读 · 0 评论 -
jmeter中发送post请求遇到的问题
用jmeter发送post请求,把请求参数放在Body Data处,参数都写得正确,但没想到结果每次都报错,直接响应结果乱七八糟,改成用Parameters,反而不乱报错了。原来,不是参数化的请求,传参放到Body Data处jmeter不认,改到Parameters下,就可以了。现在,把请求中参数的位置改一下,改到Parameters下。这个响应结果也是错误的,好像发错了请求一样。再次运行脚本,这次运行成功了。实际上请求上传递参数都没错。另外一些请求也是这样。原创 2024-10-20 21:19:48 · 564 阅读 · 0 评论 -
jmeter中设置属性值的注意事项
jmeter中,可以在beanshell sampler, jsr223 sampler中对变量、属性等做一些操作,使得测试脚本变得更有关联性和一致性,以便完成更好的测试工作。但是,在实际运用中,设置属性值经常会有些情况需要注意。不是我们以为的像java语言中去使用。在jmeter中,设置属性值都必须是String字符串类型的。原创 2024-10-14 19:08:54 · 450 阅读 · 0 评论 -
jmeter中对于有中文内容的csv文件怎么保存
jmeter的功能很强大,但是细节处没把握好就得不到预期的结果。今天来讲讲有中文内容的csv文件的参数化使用中需要注意的事项。对于有中文内容,涉及到编码格式,为了让jmeter能正确地读取csv文件中的中文,需要把文件转码为UTF-8BOM格式。先新建一个excel表格,上面写上需要用到的各种字段。接着,打开文件->另存为->选择txt文件【选择文本文件】打开另存为的txt文件,遇到有双引号的,把双引号去掉。这样才能保证中文显示正确,不乱码。接下来,再另存为 所有文件,在。原创 2024-10-17 11:47:47 · 654 阅读 · 0 评论 -
jmeter中用csv data set config做参数化2
又思考了下,为了方便统一管理测试数据的参数化,对于需要使用加密函数的接口和不需要加密的接口用一个http请求去做参数化,能不能行?注意这里的测试数据,断言部分中因有逗号,之前是在数据前加单引号,现在不用加,也可以,只要allow quoted data设为True.【这个有点小疑惑吧,有的时候竟然不要加。其实是等于1后的逗号,测试数据里给错了,给的是中文的逗号,但实际上返回的结果里是英文的逗号,就是这么个细小的地方就导致了断言失败。看请求信息,加密函数在测试数据中,然后再调用过来,没法生效,反而报错。原创 2024-10-17 11:18:03 · 658 阅读 · 0 评论 -
jmeter发送post请求
在jmeter中,有两种常用的请求方式,get和post.它们两者的区别在于get请求的参数一般是放在路径中,可以使用用户自定义变量和函数助手等方式进行参数化,而post请求的参数不能随url发送,而是作为请求体提交给服务器。而在jmeter中,根据post请求数据的格式,分两种:map格式、json格式有两种发送post请求的方式。这种格式即参数名、参数值为键值对格式,请求的参数放在Parameters参数表中即可。2. post请求数据为json格式。1.post请求数据为map格式。原创 2024-10-17 10:23:58 · 1730 阅读 · 0 评论 -
jmeter用csv data set config做参数化1
这里,断言的字段,和断言的结果值都可以引用csv文件里的字段。在jmeter中,csv data set config的作用非常强大,用它来做批量测试和参数化非常好用。接下来,看个例子,csv data set config这个设置可以让参数调用在各个地方,包括断言内容。总结:csv data set config这个元件的功能很强大,能将参数化做到,用来做批量测试很好。csv文件的内容为:其中看到包括两列数据,一列是要断言的字段,一列是断言的结果值。其他的,如http请求上的字段,都可以参数化,如下图。原创 2024-10-16 21:52:40 · 686 阅读 · 0 评论 -
jmeter响应断言放进csv文件遇到的问题
于是,察看了相关的测试人员的解决方案,发现是jmeter本身对编码格式的设置导致了这一问题。这里的断言数据本来是下面正常显示的 客户端非法请求:username.len应该大于或等于1,但现在username.len=0这句,但实际为上面的乱码。但是再次实践,还是报错,问题出在csv文件的编码上,如果csv文件里有中文,它的编码就要改。这里又出现了另一个问题,即因为csv文件默认是以,来分隔数据的,这里只读取到有,的地方,,以后的文字就没再读。如上图,从csv文件读出的内容不再是乱码,而是正常的中文。原创 2024-10-16 11:27:26 · 652 阅读 · 0 评论 -
JMeter对jdbc request以及foreach和loop controller的使用
这里设计一个计数器,让它代表每行的行数,从1开始,get(${n})就是取第n行的数据,然后get("bookName")再取具体某个字段的值。这里for each controller中的input variable prefix还是要和前面的variable name一致。这样,就把foreach下的jdbc request的sql语句执行结果输出了出来。这里用正则提取器从jdbc request返回的result中提取想要的字段数据值。否则没法取回这里的jdbc request返回的结果。原创 2024-09-30 10:29:56 · 409 阅读 · 0 评论 -
Jmeter中jsr223 sampler和beanshell sampler中有关属性值的获取的注意事项
当用props.setProperty()方法设置好'password'的值后,再用${__property('password')}方法去获取属性值,结果返回password这个键值,并没有返回对应的属性值。总结:${__property()}在JSR223 Sampler中获取属性值行不通,用props.getProperty()最稳妥,其次是${__P()}方法也行得通。都不识别通过props.setProperty()方法设置的属性值。使用props.get()方法是能获得设置的属性值的。原创 2024-10-04 21:43:06 · 655 阅读 · 0 评论 -
jmeter在beanshell中使用props.put()方法的注意事项
这里的原因是:我的思考:因为这里刚通过props.put()设置了属性,直接调用属性函数来取行不通,因为脚本的执行和debug sampler的执行走的是不同的路径。如果获取值时用到的属性和设置时用到的属性不一致,就会出现如下错误,未定义的参数currtime,它把currtime看成是一个变量参数,而变量是需要被声明定义的。这种设置属性的方式才是有效可行的,在用props.get()获取的时候,就用和用props.put()方法设置时用到的属性名一样的属性名去获取值才不会错。改过来,都不带双引号。原创 2024-10-14 11:43:37 · 729 阅读 · 0 评论