テストデータベースアサーションインタフェースの実装とデザインのJMeter

インターフェイスのテストは、ほとんどそれらのインターフェースの検証に応じて、インターフェースの値を基準として使用しますが、インターフェイスのJMeterはここインターフェイスにツールをテストするように、データベースと対話するために、このインタフェースの決意の結果は、インタフェースの正しさを判断していませんデータベースアサーション

一般的なアイデアのI.概要

    1. JMeterのインターフェイス要求が開始します

    2. JSON抽出は、キーの結果に応じてコンテンツのインターフェースを取得し、

    3. JMeterはデータベースの値が得られ、データベース操作を開始します

    4.比較BeanShellのは、データベースコンテンツの内容に応じて、アサーションを使用して、インタフェースを実装します

二つ。JMeterはインターフェイス要求を開始します

    例えば、インタフェースを検索するには、ビジネス要件は以下のとおりです。キーワードの商品で検索。次のようにインターフェイスの情報は次のとおりです。

 インタフェース情報:

入力パラメータ:

リターン結果:

   以下、上記のインタフェース情報に基づいてJMeterのHTTPリクエストを追加

III。要求抽出部JSONにインタフェースを追加します

     JSONレスポンス名にインターフェイスのすべてを取得するために抽出し、データベース1の比較で発見される名前値を追加します。

     Extractorの3.1 JSON追加

検索要求を選択 - 追加 - ポストプロセッサの抽出--json    

 3.2抽出は、JSONを提供しました

パラメータは説明しました:

作成された変数の1.名称:ちょうど限り競合が定義されていないことができるように、格納されたコンテンツへの応答から取得したJSON抽出を表す変数は、意味のある名前の提案以来、ABCの無意味の名前を書いていません

2. JSONパス式:このルールに従って応答から適合コンテンツを要求JSON抽出式、発現を示すすべての数字は、応答に対応する名前フィールドの値と一致します

3.マッチ号(ランダム0):変数に結果のストレージポリシーに合致すると、デフォルトでは書き込みには何もありません0

図10は、記憶され、例えば、我々はその後、ランダム変数の値に割り当てられます名前フィールドの複数の値は、作成された変数の名前を指定された一致確率変数を表します。

2 -1表示使用数字后缀标识每一个匹配的结果,比如我们匹配了多个name字段的值,那么最终每一个结果都会对应一个变量,变量名称则是name_1、name_2、name_3、name_4 ....

3 X表示把第几个匹配到的值赋值给Names of created variables指定的变量,比如写个2,那么就会把匹配到的第2的name字段的值赋值给name

4. Compute concatenation var:表示如果匹配到多个值,可以将多个值存储在一个变量中,变量名为Names of created variables指定的变量名称加_ALL,比如当前图中就是name_ALL,存储的多个值以,分割

5.  Default Values:表示如果json表达式没有匹配到任何值,那么变量的默认值是啥

四. 配置数据库发起数据库请求

    以mysql数据库为例

   4.1  配置数据库连接元件

配置数据库所需要的jar包,下载mysql-connector-java.5.1.46.jar,可以直接在maven上进行下载,下载地址https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.46

下载好以后放入jmeter目录下的lib/ext目录下,然后重启jmeter

配置jdbc元件,选中线程组--添加--配置元件--JDBC  Connection  Configuration

核心字段含义

Variable Name for created pool:表示该连接配置的名称,这个名称将会在后续的jdbc请求中使用

Dabase URL:表示数据库实例的连接地址

JDBC Driver class:表示连接驱动类

Username:表示连接数据库实例的用户名

Password:表示连接数据库实例的密码

4.2 数据库请求,请注意该请求需要放在查询接口请求之前

    选中线程组--添加--取样器--JDBC Request

 

核心字段含义

Variable Name of Pool declared in JDBC Connect Configuration:表示要连接的数据库配置名称,与我们上面配置的一致

Query:填写sql语句,这里我们是查询商品表,通过name字段模糊查询,并且只返回了name字段

Result  variable  name:表示从数据库中查到的内容存到哪个变量里,这里写变量名称

五. 脚本调试

   5.1  添加调试取样器,用来查看各个变量的值是否正确

    选中线程组--添加--取样器--调试取样器

   5.2  添加察看结果树,用来查看请求结果

    选中线程组--添加--监听器--察看结果树

 5.3  执行测试,查看各个变量的值是否正确

dbname=[{name=天喔 西梅454g}, {name=天喔 盐津桃肉170g/瓶}, {name=天喔很牛牛肉粒(沙爹)150g/袋}, {name=天喔 Q猪香辣小香肠100g/袋}]        数组中存着键值对

name_ALL=天喔 西梅454g,天喔 盐津桃肉170g/瓶,天喔很牛牛肉粒(沙爹)150g/袋,天喔 Q猪香辣小香肠100g/袋       逗号分隔的字符串

六. 使用Beanshell 断言完成接口结果和数据库结果的校验

   选中搜索请求--添加--断言--BeanShell 断言

执行整个脚本,执行通过,脚本全貌如下


作  者:Testfan 沙陌老师

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

おすすめ

転載: www.cnblogs.com/testfan2019/p/12124093.html