创建 Vuser 脚本并录制所需的业务流程后,VuGen 将会生成 Vuser 脚本。然后,VuGen 将扫描生成的脚本以查找异步通信实例。此过程称为“异步扫描”。如果 VuGen 在 Vuser 脚本中找到任何异步通信实例,则 VuGen 修改脚本可以使脚本运行并模拟所需的异步行为。仅当选中“异步扫描”录制选项时,VuGen 才会扫描脚本以查找异步通信。
Vuser 脚本中的异步通信可分为一个或多个对话。设计工作室的异步选项卡将列出 VuGen 在 Vuser 脚本中检测到的单个异步对话。使用异步对话列表系统地分析异步扫描期间 VuGen 对 Vuser 脚本所做的修改。确保 VuGen 已正确识别 Vuser 脚本中的异步行为,并正确修改了 Vuser 脚本以模拟所需的异步行为。修改 Vuser 脚本以使其模拟异步通信时,可能需要在修改的脚本上执行关联活动。
通过VuGen 修改 Vuser 脚本。Vuser 脚本中的异步行为可分为一个或多个异步对话。对于每个异步对话,VuGen 将执行以下任务:
1、VuGen 在异步对话开始之前插入web_reg_async_attributes步骤。web_reg_async_attributes步骤包括异步对话 ID。此 ID 将用于后续web_stop_async步骤以指示异步对话的结尾。模式参数指明异步行为的类型:推送、轮询或长轮询。
web_reg_async_attributes("Push_0",
"Pattern=Push",
"URL=//push.example.com/example",
"RequestCB=Push_0_RequestCB",
"ResponseHeadersCB=Push_0_ResponseHeadersCB",
"ResponseBodyBufferCB=Push_0_ResponseBodyBufferCB",
"ResponseCB=Push_0_ResponseCB",
LAST);Copy Code
2、VuGen 会在插入的web_reg_async_attributes步骤前添加一条注释。该注释包括有关异步对话的详细信息,包括:
1)异步对话的 ID。
2)对话中包含的 URL。
3)在web_reg_async_attributes步骤中对建议的回调函数实现进行了说明。已在脚本的其中一个额外文件 AsyncCallbacks.c 中添加了这些实现。
/* Added by Async CodeGen.
ID=Push_0
ScanType = Recording
The following URLs are considered part of this conversation:
http://push.example.com/example
TODO - The following callbacks have been added to AsyncCallbacks.c.
Add your code to the callback implementations as necessary.
Push_0_RequestCB
Push_0_ResponseHeadersCB
Push_0_ResponseBodyBufferCB
Push_0_ResponseCB
*/Copy Code
3、对于推送对话,VuGen 将异步 API 函数插入到 Vuser 脚本中,但是不会从 Vuser 脚本中删除任何录制代码。对于轮询和长轮询对话,VuGen 可能会从生成的 Vuser 脚本中删除步骤或步骤参数。如果相关 URL 被请求运行插入的异步函数 (而不是运行已移除的原始步骤),则 VuGen 移除步骤或步骤参数。未删除已删除的步骤(已注释掉)。必要时可以取消注释这些步骤。
4、如果相关,VuGen 将在异步对话结尾添加web_stop_async步骤。web_stop_async步骤标志着异步对话结束。
5、通过对启动对话的步骤中异步对话所含任务进行分组来更新录制的快照。
以上就是我们为您整理的在使用LoadRunner 性能测试工具的过程中,如何通过Vugen 修改用于异步通信的 Vuser 脚本的相关内容,后续会继续为大家介绍更多的LoadRunner 使用相关内容,点击我的主页可查看更多LoadRunner 相关内容。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.