本文介绍参数文件的使用场景。根据不同的参数请求,本文列举了4个参数文件的使用场景。
场景一:模拟多用户登录,参数文件应用在请求Body中
参数文件应用在请求Body场景的具体应用案例,请参见在线教育压测示例。
场景二:模拟多用户登录,参数文件应用在Header中
为模拟不同用户登录,需要使用文件参数构造用户登录信息。如果已生成多个有效Token,将Token放在参数文件中,请求带上Token,即可完成鉴权。参数文件应用在Header场景的具体案例介绍如下。
准备参数文件
新建一个
token.csv
文件(用Excel编辑之后另存为.csv格式,或者用Apache的commons-csv来生成),构造一列数据,对应Token,如下所示。token T7MeDnBIMKRJdgUB8RNQixyhUPJPaJEG cqKscgeNWFPkkkaR4dBfcD4A2pD1CYFK eh3lbjmsjd9jh65xSwvBWvDtmky25CK9
登录PTS控制台,选择 ,然后单击PTS压测。
添加参数文件到数据源
单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。
选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。
添加数据配置节点
在场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置。
在数据源参数设置页签下,选择设置好的参数名。
在API的Header中引用Token
在场景配置页面单击Header定义页签,然后输入Value值为token。
场景三:模拟用户请求不同API,参数文件应用在URL中
若您需要随机请求一个商品详情,可以在URL中配置参数。例如,商品ID,对应API为:/api/v1/products/{productId}
,其中productId
可以用参数文件来实现随机取值。参数文件应用在URL场景的具体案例介绍如下。
准备参数文件
新建一个
productId.csv
文件(用Excel编辑之后另存为.csv格式,或者用Apache的commons-csv来生成),构造一列数据,如下所示。productId 1 2 3
登录PTS控制台,选择 ,然后单击PTS压测。
添加参数文件到数据源
单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。
选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。
添加数据配置节点
在场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置。
在数据源参数设置页签下,选择设置好的参数名。并设置对应参数名的读取方式为随机。
在API的URL中引用参数。
场景四:模拟每个用户请求一次的场景
正常的压测场景会模拟用户一直循环发送业务会话中的请求,直到压测时间结束。 但是有些场景用户希望能够控制循环次数,在这种场景下就需要使用文件参数提供的“数据轮询一次”功能。设为轮询一次之后,在整个压测过程中,每行数据只会被使用一次。即数据有多少行,业务会话就会循环执行多少次。
接下来以选择考试系统的场景为例,为您介绍参数文件的具体应用。所涉及的场景为业务流程登录、答题、交卷,每个用户只循环一次,具体操作如下。
准备参数文件
新建一个
user.csv
文件(用Excel编辑之后另存为.csv格式,或者用Apache的commons-csv来生成),构造两列数据,内容包含用户名、密码,如下所示。username,password user1,Password1 user2,Password2 user3,Password3
登录PTS控制台,选择 ,然后单击PTS压测。
添加参数文件到数据源
单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。
选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。
添加数据配置节点
在场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置。
在数据源参数设置页签下,选择设置好的参数名。并选中
username
数据轮询一次。
在API中引用参数
在Body定义页签中,
Content-Type
类型选择x-www-form-urlencoded
,然后单击编辑区域右上角的文本编辑,在文本编辑框中输入{"username":"${username}","password":"${password}"}
。完成以上操作,即可模拟每个用户只执行一次业务会话的操作。