在为负载测试创建Web 应用程序任务时,可以提供一些将在设备任务中使用的变量数据。 例如,这允许我们模拟不同的用户登录,访问者搜索不同的产品或通过指定动态变量来进行动态URL测试。
作为说明,考虑测试登录页面,其中多个用户必须使用不同的用户名登录。 首先,需要为单个用户创建脚本,然后上下文参数必须设置脚本中用于用户登录和密码输入的位置。 设置和管理上下文参数在EveryStep脚本工具,看到将上下文参数添加到脚本文章。
保存脚本并配置设备后,可以在测试场景中指定动态变量列表(动态用户模拟的登录名和密码集)。 有关详细信息,请参阅将动态变量上载到测试方案。 在高级 LoadView 教程视频中查看整个过程的运行情况。
-
何时使用动态变量以及如何生成测试数据集
Web 应用程序的负载测试包括测试脚本的录制。 通常,测试脚本会重现与 Web 应用程序的最终用户交互,例如登录应用程序、搜索、填写和提交 Web 表单,或在真实浏览器窗口中进行简单导航。 因此,与实际使用案例类似,大多数测试案例将包括一些数据输入步骤。
当多个用户执行登录步骤或一次填写具有不同数据的搜索框时,使用相同的输入数据测试 Web 应用程序几乎不会重现现实生活中的使用案例。 此外,在某些情况下,目标 Web 应用程序可能不支持并发登录,并且无法同时执行多个具有相同登录名和密码值的虚拟用户。
但是,是否可能使每个负载测试会话都独一无二? 答案是肯定的,所有你需要让你的Web应用程序加载测试场景更现实,是参数化测试场景的脚本。 换句话说,为测试脚本中的输入数据引入动态变量,并在执行负载测试时对每个测试会话中这些变量使用唯一值。
动态变量是模拟 Web 交易的绝佳选择,如:
- 使用不同的用户凭据登录。
- 用搜索请求的不同文本填充搜索框。
- 提交具有唯一输入数据的 Web 表单(注册时唯一的电话或电子邮件地址)。
LoadView 支持将动态值从外部 CSV 文件导入到负载测试场景。 如果您事先知道如何对负载测试场景进行参数化,则可以创建一个 CSV 文件,其中具有一组动态值,用于每个步骤脚本工具脚本中的相应参数。 LoadView 将读取 CSV 文件中的行,并在运行负载测试时动态地将唯一值传递到负载测试脚本中的相应动态变量。
现在,让我们来讨论动态测试数据生成过程的一些特殊性。
生成测试数据没有通用方法。 根据经验,首先要做的是分析 Web 应用程序的功能。 此时,应与应用程序开发人员讨论测试数据的类型及其结构。 数据生成过程可以由 QA 工程师和开发团队执行。
在开始负载测试之前,必须确保您生成的测试数据量足以进行正确的测试执行。 例如,在每个并发虚拟用户并发记录的情况下,必须具有唯一的用户密码对。 否则,在第一次登录后,所有具有相同访问凭据的后续尝试将导致脚本执行错误。 因此,必须确保生成的动态可变值数等于或超过并发虚拟用户的最大数量。
在为负载测试生成用户凭据时,必须确保测试用户名和密码是独一无二的,并满足应用程序的安全要求。 建议使用预先定义的模板生成用户帐户。
您可以通过 Web 应用程序界面生成用户帐户或创建自动脚本以生成 API 请求以创建帐户(适用于大量用户),或者您可以直接在目标应用程序的数据库中创建帐户。
另一个可能需要生成动态变量测试值的示例是 Web 表单提交事务。 在执行脚本时,系统将使用所提供的 CSV 文件中的数据来填写表单字段。 要成功提交表单,动态可变值的格式必须与 Web 表单字段的指定格式对应。 因此,有必要为所有动态变量(例如电话号码)预先定义支持的值格式。