zoukankan      html  css  js  c++  java
  • JMeter基础教程1:若隐若现的参数化

    1. 什么是参数化?

    在开始学习JMeter参数化之前,我们先了解下什么是参数化:

    参数化是自动化测试脚本的一种常用技巧。简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;这样,脚本在运行时就可以根据需要选取不同的参数值作为输入。那么JMeter又给我们提供了怎么样的参数化,下面让我们一一揭开JMeter的参数化。

    2. JMeter参数化详解

    我们首先新建一个HTTP登陆请求测试,如下截图:

    其中【username、password】这两个值默认是写死的,下边我们将要实现用户名和密码参数化,有两种方法:

    2.1 CSV Data Set Config

    2.1.1 添加配置元件——CSV Data Set Config

    点击线程组 -> 添加 -> 配置元件 -> CSV Data Set Config:

    参数说明:

    1)Filename:F:jmetercsvtest.dat文件名,保存参数化数据的文件目录,可选择相对或者绝对路径(建议填写相对路径,避免脚本迁移时需要修改路径);

    2) File encoding:UTF-8,F:jmetercsvtest.dat文件的编码格式,在保存时保存编码格式为UTF-8即可;

    3) Variable Names(comma-delimited):对应参数文件每列的变量名,类似excel文件的文件头,起到标示作用,同时也是后续引用的标识符,建议采用有意义的英文标示;(有几列参数,在这里面就写几个参数名称,每个名称中间用分隔符分割, 例如这里的user,pwd)

    4) Delimitet:参数文件分隔符,用来在“Variable Names”中分隔参数,与参数文件中的分隔符保持一致即可;

    5) Allow quote data:是否允许引用数据,默认false,选项选为“true”的时候对全角字符的处理出现乱码 ;

    6) Recycle on EOF?:是否循环读取参数文件内容;因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入;

    △ Ture:为true时,当已读取完参数文件内的测试用例数据,还需继续获取用例数据时,此时会循环读取参数文件数据(即:读取文件到结尾时,再重头读取文件);

    △False:为false时,若已至文件末尾,则不再继续读取测试数据;通常在“线程组线程数* 线程组循环次数>参数文件行数”时,选用false(即:读取文件到结尾时,停止读取文件);

    7) Stop thread on EOF?:当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义;

    △若为ture,则在读取到参数文件行末尾时,终止参数文件读取线程;

    △若为false,此时线程继续读取,但会请求错误,因此时读取的数据为EOF;

    8) Sharing mode:共享模式,即参数文件的作用域,有以下几种方式:

    △All threads:当前测试计划中的所有线程中的所有的线程都有效,默认;

    △Current thread group:当前线程组中的线程有效;

    △Current thread:当前线程有效;


    这里,我们只要指定【Filename】和【Variable Names(comma-delimited)】这两个值就行了,其他保持默认,如有编码需求可针对【File encoding】选项进行修改。

    2.1.2 新建参数文件

    这里我们对登录的用户名密码进行参数化,将用户名密码写入txt文档,保存时后缀改为.dat格式,编码类型选择UTF-8保存;

    然后将保存的.dat文件放入计算机的某个盘里,这里我放入路径为:F:jmetercsvtest.dat

    2.1.3 修改HTTP请求

    然后返回HTTP登录请求界面,把用户名和密码两项值修改成【${user},${pwd}】

    这样就完成通过 CSV Data Set Config 实现用户名和密码参数化的操作。

    2.2 _CSVRead方法

    在Jmeter顶部【Options-function Helper dialog】进入函数助手,或直接键盘快捷按键打开

    在函数帮助表中选 _CSVRead 函数

    CSV文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推...有些同学说是从1开始是错误的。

    然后点击【生成】按钮,则会自动生成我们需要的参数化函数。

    复制生成的参数化函数,打开登陆请求页面,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;修改函数中对应的参数化字段列号就可以啦。

    这样我们就使用 _CSVRead 函数完成了用户名和密码的参数化操作。

  • 相关阅读:
    sqlhelper使用指南
    大三学长带我学习JAVA。作业1. 第1讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行 大三学长带我学习JAVA。作业1.
    pku1201 Intervals
    hdu 1364 king
    pku 3268 Silver Cow Party
    pku 3169 Layout
    hdu 2680 Choose the best route
    hdu 2983
    pku 1716 Integer Intervals
    pku 2387 Til the Cows Come Home
  • 原文地址:https://www.cnblogs.com/lovesoo/p/7743922.html
Copyright © 2011-2022 走看看