
# 添加PerfTest全局变量
#### 添加整数、枚举型和文本型全局变量
1. [登录性能测试服务控制台](https://console.huaweicloud.com/cpts/#/home)。
2. 在左侧导航栏中选择"PerfTest测试工程"。
3. 在待编辑PerfTest测试工程所在行，单击工程名称进入测试工程详情页面。
4. 在"测试用例"页签，单击"全局变量"。
5. 单击"添加变量"，参照[表1]设置参数。
   
    表1设置全局变量 
   | 参数   | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 名称   | 新增全局变量的名称。 全局变量名称以汉字、字母、数字、中划线（-）、下划线（_）和点（.）组成，长度为1\~50个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 类型   | 新增变量类型，支持整数、枚举和文本三种类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 值    | 压测任务运行时会读取对应全局变量的参数值，针对每个虚拟用户，依次轮询变量值，即第一个虚拟用户取变量的第一个值，第二个虚拟用户取第二个值，依顺序取值，不够则循环。 变量的内容，在压测时将以明文传输，请谨慎输入，注意数据安全。 - 变量类型为整数时，输入变量值范围。  - 变量类型为枚举时，单击![](https://support.huaweicloud.com/usermanualnew-cpts/zh-cn_image_0000002362397897.png)，输入变量值。  - 变量类型为文本时，输入文本值。   |
   | 读取模式 | 顺序模式：顺序读取变量。 随机模式：随机读取变量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 共享模式 | 用例模式：每个并发共享一个变量。 并发模式：每个并发单独复制一个同名变量进行使用，不同并发按顺序读取变量值，互不影响。                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 敏感参数 | 勾选为敏感参数后，将对变量值加密存储。如果界面刷新后再次编辑，将清空变量值，请谨慎操作。 敏感参数仅适用于文本类型变量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      
   选择不同的变量读取模式和变量共享模式时变量读取规则可参考[添加PerfTest全局变量](https://support.huaweicloud.com/usermanualnew-cpts/cpts_02_0085.html)。
   
   
6. 设置完成后，单击操作栏的"保存"添加变量。
7. 变量创建完成后您还可以执行如下操作： 
   - 单击"编辑"进行修改。如果该全局变量已被事务所引用，变量修改后，事务中的全局变量值会同步修改。
   
   - 单击"删除"，删除添加的全局变量。当全局变量被引用时，不可删除。
   
   
   
   
 
#### 添加csv格式或者xlsx格式全局变量文件
如果某些参数需要动态获取，且数量较大时，可直接通过csv格式文件或者xlsx格式文件导入，在用例业务接口压测过程当中，实现接口动态传参。
1. 在"测试用例"页签中，单击"全局变量"。
2. 单击"csv模板下载"或者"xlsx模板下载"获取所需的变量文件模板，按照模板填写相应的变量和值。csv/xlsx格式文件模板第一行表头填写的是变量名，从第二行开始填写的是对应变量的值。每份文件大小、上传的文件个数上限与当前的套餐相对应，请参考[性能测试服务价格计算器](https://www.huaweicloud.com/pricing.html?tab=detail#/cpts)查看详情。
   
   变量文件限制如下：
   1. 导入的文件格式：.csv（UTF-8无BOM格式）和.xlsx。
   
   2. 文件的名称长度上限：50字节（含后缀）。
   
   3. 文件大小限制：
      - xlsx：专业版10M，企业版20M。
      
      - csv：专业版10M，企业版默认80M。
       
   
   
   
   
3. 单击"文件变量导入"，导入格式为csv或xlsx的文件。 
   - 变量名称：导入的文件名称。
   
   - 变量类型：文件。
   
   - 变量值：实际的变量名称，多个变量名称之间用","分隔。
   
   - 变量读取模式：
     - 顺序模式：顺序读取变量。
     
     - 随机模式：随机读取变量。
      
   
   - 变量共享模式
     - 用例模式：每个并发共享一个变量。
     
     - 并发模式：每个并发单独复制一个同名变量进行使用，不同并发按顺序读取变量值，互不影响。
      
   
   
   
   
4. 全局变量导入成功后，您还可以执行如下操作： 
   - 单击"编辑"可以设置变量的读取顺序和变量共享模式。 选择不同的变量读取模式和变量共享模式时变量读取规则可参考[添加PerfTest全局变量](https://support.huaweicloud.com/usermanualnew-cpts/cpts_02_0085.html)。
     
   
   - 单击"下载"，将全局变量文件下载到本地。
   
   - 单击"删除"，删除导入的全局变量文件。全局变量文件被引用时，不可删除。
   
   - 已导入的全局变量文件，如果本地做了修改，可单击"重新上传"进行重新上传。
   
   
   
   
 
#### 全局变量读取规则
无论是手工输入方式还是文件变量导入的方式添加变量，选择不同的变量读取模式和变量共享模式时变量读取规则如下[表2]。
 表2变量读取规则 
| 变量读取模式 | 变量共享模式 | 概述                                     | 举例                                                  |
|:---|:---|:---|:---|
| 顺序模式   | 用例模式   | 每个并发按顺序读取一个变量值。                        | 例如，10并发压力模式下的任务，在执行过程中，不同并发按照顺序读取变量中的值。             |
| 顺序模式   | 并发模式   | 每个并发单独复制一个同名变量进行使用，不同并发按顺序读取变量值，相互不影响。 | 例如，10并发压力模式下的任务，在执行过程中，每个并发均从复制的变量中，按照顺序往下读取相应的变量值。 |
| 随机模式   | 用例模式   | 每个并发随机读取一个变量值。                         | 例如，10并发压力模式下的任务，在执行过程中，不同的并发随机获取变量中的值。              |
| 随机模式   | 并发模式   | 每个并发单独复制一个同名变量进行使用，不同并发随机读取变量值，相互不影响。  | 例如，10并发压力模式下的任务，在执行过程中，每个并发均从复制的变量中，随机读取相应的变量值。     |
   
假设变量number有三个变量值分别为1、 2、 3， 存在两个并发A和B。
- 两个并发在顺序模式下： 用例模式：A并发读取变量number的1，B并发接着读取变量number的2，一直按顺序循环读取。
  并发模式：A并发读取一个复制的变量number（副本），从头开始读起，读取1。B并发读取一个复制的变量number（副本），从头开始读起，也读取1。
  
- 两个并发在随机模式下： 读取变量值的方式与顺序模式一致，但因为是每次都是随机的，所以用例模式和并发模式的使用效果一样。
  
 
