shell用中expect,其中expect执行一个循环,记录循环时间,或者执行30s则结束该循环,该怎么写嵌套语句

shell用中expect,其中expect执行一个循环,记录循环时间,或者执行30s则结束该循环,该怎么写嵌套语句,第1张

用后台

expect xxx &

#后台执行expect

sleep 30s

#睡30s

kill -9 $!

#杀掉 $!,$!表示最近一个后台的进程id,实际中你得找到办法判断$!是否是原来那个进程。

这两个词的区别我懂, hope 通常是针对未来的,而 expect 可以从过去和现在开始,涉及到未来的结果。给大家简单总结了两个词的含义、发音以及用法,先大概的了解一下~~

接下来让我们看下hope和expect的其他区别:

1 效果不同: hope是指对未来有希望的愿望,而 expect是指对某事有期待的结果。

例句:

- I hope to finish my homework soon

我希望很快完成作业。

- I expect the meeting to be successful

我期待会议成功。

2 确定性不同: hope 带有或多或少的不确定性和可能性,而 expect 更为强烈和明确,含有明确的预期和期待。

例句:

- I hope it won't rain today

我希望今天不会下雨。

- I expect him to arrive on time

我期望他准时到达。

3 角度不同: hope 通常是从自己的角度出发的,而 expect 是从客观事实出发。

例句:

- I hope to get a promotion this year

我希望今年能得到升职。

- As the manager, I expect all employees to follow the company's rules

作为经理,我期待所有员工遵守公司的规定。

4 时间差异: hope 通常是针对未来的,而 expect 可以从过去和现在开始,涉及到未来的结果。

例句:

- I hope I can get good grades in the next exam

我希望下次考试能取得好成绩。

- We expected the project to be completed last month, but it was postponed

我们原本期望这个项目上个月完成,但被推迟了。

5 实现的可能性上的区别: hope 更多地涉及到一种希望和愿望,而 expect 则更多地涉及到一种基于现实和信任而得出的期待。

例句:

- I hope to travel to Europe next year

我希望明年去欧洲旅行。

- I expect you to tell the truth

我期望你说实话。

预处理脚本(Pre-request script)

断言脚本(Tests script)

        请求之前添加的脚本,我们称为预处理(Pre-request Script) ,预处理脚本与Jmeter的前置处理器类似,主要作用就是一些初始化的功能

请求本身的问题,但是“请求前后的动作”是怎么处理的?

比如在发送一个请求前,需要获取当前系统时间戳,这就需要用到Pre-request Script的知识。请求返回响应结果后,如何自动判断响应是否正确?这就需要用到Tests的知识。

postman支持javascript,允许测试人员给请求和集合添加动态行为,通过使用javascript脚本,可以构建包含动态参数的请求,在请求之间传递数据。可以在下面两个事件流中添加javascript脚本。

1、在请求发送前,添加作为“Pre-request Script”选项下的预处理脚本

2、在收到响应后,添加测试脚本进行断言、流程控制

可以将预处理和测试脚本添加到一个集合、一个文件、一个请求中。

1、为集合添加脚本

2、为文件添加脚本

3、为请求添加脚本

在Postman中,单个请求的脚本执行顺序如图

1、与请求相关联的预请求脚本将在请求发送之前执行

2、与请求关联的测试脚本将在接收响应之后执行。

对于集合中的每个请求按顺序执行

1、与集合相关的预请求脚本将在集合中的每个请求之前运行

2、与文件夹相关联的预请求脚本将在文件夹中的每个请求之前运行。

3、与集合相关的测试脚本将在集合中的每个请求之后运行。

4、与文件夹关联的测试脚本将在该文件夹中的请求之后运行。

对于集合中的每个请求,脚本总是按照下面的层次结构运行:集合级脚本、文件夹级脚本、请求级脚本。此执行顺序适用于预请求和测试脚本。为了验证其正确性,可以创建这样一个集合,其中包含一个文件夹和两个请求。

2 测试脚本

        预处理脚本,指在请求发送之前执行的脚本。如果想在请求发送时包含当前时间戳或者一个随机的字符,前端加密等,在这个场景下使用前置脚本。例如,要在请求头中包含一个时间戳,可以设置一个环境变量,其值从函数返回。

        预处理脚本将被执行,并且timestampHeader的值将被赋值给变量{{timestampHeader}}。body中通过使用{{timestampHeader}}来传递变量。

Postman准备了常用脚本实例,这些脚本能够满足大多数接口测试的需求,接下来,一起认识一下它们,Postman在右侧区域列出了常用脚本。

演试案例:

准备接口

打开“Postman Console”

了解consolelog()

接口描述:

Postman Console窗口输出内容的顺序体现了脚本执行的顺序,Pre-request Script请求中的脚本先执行,然后才发送接口的请求

设置变量、获取变量值脚本

1、设置一个全局变量

pmglobalsset("variable_key", "variable_value");

2、设置一个环境变量

pmenvironmentset("variable_key", "variable_value")

3、获取一个全局变量

pmglobalsget("variable_key")

4、获取一个环境变量

pmenvironmentget("variable_key")

演试案例:

演试内容:Postman在右侧区域列出了常用脚本的演试

通过consolelog输出globals、environment当前的环境变量,Postman Console窗口的输出情况。

清除变量的脚本

1、清除一个全局变量

pmglobalsunset("variable_key")

2、清除一个环境变量

pmenvironmentunset("variable_key")

发送请求的脚本

1、发送一个请求

pmsendRequest()

    响应之后添加的脚本,称为测试脚本(Tests Script),即断言脚本,测试脚本主要用于接口断言,类似LoadRunner工具中的检查点、Jmeter中的断言功能。需要使用javascript语言为每个请求编写测试脚本。

测试脚本相关方法:

1、检查响应体中是否包含一个字段

pmexpect(pmresponsetext())toinclude("指定的内容")

2、将xml格式额响应体转换程Json对象

varJson=xml2JSON(responseBody)

3、检查响应体等于一个字符串

pmresponsetohavebody("指定的内容")

4、检测响应体的JSON值

varJSON=pmresponseJSON();//将结果转换程json格式

pmexpect(JSONvalue)toeql(“目标数”);

5、检测响应体中包含某个header

pmresponsetohaveheader("Content-Type")

6、检查响应时间,要求小于100ms

pmexpect(pmresponseresponseTime)tobebelow(100);

7、要求该接口响应码为200

pmvariblesget("指定状态码")

8、要求响应状态中包含某个字符

pmresponsetohavestatus("OK")

9、要求status code符合某个条件

pmexpect(pmresponsecode)tobeoneOf([200,201,202])

    关于postman测试脚本中接口返回结果比较复杂的断言,且需要对多个值进行断言的情况,通过一个示例说明。

    假如该接口mock出参如下:

    我们需要断言其中的多个字段,可如下断言:

以上就是关于shell用中expect,其中expect执行一个循环,记录循环时间,或者执行30s则结束该循环,该怎么写嵌套语句全部的内容,包括:shell用中expect,其中expect执行一个循环,记录循环时间,或者执行30s则结束该循环,该怎么写嵌套语句、hope和expect有什么搭配区别、PostMan进阶——测试脚本的编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9579671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存