インターフェイス テスト用の Jmeter+Ant+Jenkins インターフェイス自動化テスト プラットフォーム

目次

プラットフォーム紹介

環境整備

ジェンキンスの紹介

ダウンロードとインストール

プラットフォームの構築

依存ファイルの構成

build.xml 構成

アリのビルド

兄のアリは熱心に演奏しました。3日間でJmeterインターフェーステストを学ばせてください。学べなければ負けます

最適化を報告し、複数のスクリプトをバッチで実行する

ジェンキンスへの統合


プラットフォーム紹介

完全なインターフェイス自動化テスト プラットフォームは、インターフェイスの自動実行、テスト レポートの自動生成、および継続的統合をサポートする必要があります。Jmeterインターフェイス テスト、Ant自動構築、およびJenkins継続的インテグレーションをサポートしているため、3 つを組み合わせることで、完全に機能するインターフェイス自動化テスト プラットフォームを形成できます。

環境整備

環境依存

  • JDK 環境設定
  • Jmeterのインストール
  • Ant インストール環境変数の構成
  • ジェンキンスのインストール

Ant の概要: Apache Ant は、ソフトウェアのコンパイル、テスト、デプロイなどの手順を自動化するツールで、主に Java 環境でのソフトウェア開発に使用されます。

 ダウンロード後、任意のファイルパスに解凍し、ここではEドライブのルートディレクトリに置きます。

環境変数の構成

  • ANT_HOME E:\apache-ant-1.10.5
  • パス: %ANT_HOME%\bin
  • ClassPath %ANT_HOME%\lib

次のコマンドを入力して、インストールが成功したかどうかを確認します

注: 「ant は内部コマンドでも外部コマンドでもありません」というプロンプトが表示される場合は、環境変数が正しく構成されていない可能性があります。

jmeter ビデオ チュートリアル: Ali の兄貴は実行するのが大好きです。Jmeter インターフェイス テストを 3 日間で学習できますicon-default.png?t=N3I4。 BV1Q84y1K7bK/?spm_id_from=333.999 .0.0

ジェンキンスの紹介

Jenkins は、オープン ソース ソフトウェア プロジェクトです。Java に基づいて開発された継続的統合ツールです。継続的で反復的な作業を監視するために使用されます。ソフトウェアの継続的統合を可能にする、オープンで使いやすいソフトウェア プラットフォームを提供することを目的としています。 .

ダウンロードとインストール

ダウンロード後、指定されたパスにインストールします。デフォルトの起動ページは localhots:8080 です。ポート 8080 が占有されて開くことができない場合は、jenkins のインストール ディレクトリに入り、構成ファイルを見つけて開き、ポート番号を変更します。次のコードのjenkins.xml

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

プラットフォームの構築

依存ファイルの構成

  • まず、Jmeter ディレクトリの下に新しいフォルダーを作成し loadTest (フォルダー名にアンダースコアやスペース文字を使用しないでください)、Jemter テスト スクリプトをこのフォルダーに配置します。
  • Jmeter extras ファイルを ant-jmeter-1.1.1.jar Antの libフォルダに入れます
  •  、、、 ant ディレクトリの ディレクトリの下にあるJmeter ファイルextras に 入れますjmeter-results-detail-report_21.xslbuild.xmlcollapse.pngexpand.pngbin

build.xml 構成

Antディレクトリbinのファイルを開きbuild.xml、次を見つけます。

<property name="testpath" value="${user.dir}"/>
<property name="jmeter.home" value="${basedir}/.."/>
<property name="report.title" value="Load Test Results"/>

<!-- Name of test (without .jmx) -->
<property name="test" value="Test"/>

パラメータ 説明

  • testpath テスト計画。ここでは、テスト スクリプト、テスト生成ファイル、テスト レポートの保存に使用されます
  • jmeter.home Jmeter ディレクトリ パス
  • report.title 試験報告書のタイトル
  • test jmeter テスト スクリプトの名前 (接尾辞 .jmx は必要ありません)

自分の環境に合わせて変更してください。

<property name="testpath" value="C:\apache-jmeter-5.2.1\loadTest"/>
<property name="jmeter.home" value="C:\apache-jmeter-5.2.1"/>
<property name="report.title" value="Jmeter Test Report"/>

<!-- Name of test (without .jmx) -->
<property name="test" value="jmeter_test"/>

アリのビルド

次のコマンドを実行してビルドします

ant -buildfile E:\apache-ant-1.10.9\bin\build.xml

結果は次のとおりです。

loadTestフォルダー に入ると、次のファイルが生成されていることがわかります。

 HTML テスト レポートを開くhttpbin_test.html と、レポートの内容は次のようになります。

兄のアリは熱心に演奏しました。3日間でJmeterインターフェーステストを学ばせてください。学べなければ負けicon-default.png?t=N3I4ます                 

 

最適化を報告し、複数のスクリプトをバッチで実行する

jmeter4.0 バージョンでは、デフォルトで複数のスクリプトをバッチで実行するためのワイルドカードがサポートされていないためbuild.xml、ここで構成ファイルを変更してbuild.xmlバッチ実行を実現します。具体的なスクリプトは次のとおりです。

デフォルトで Jmeter によって生成されるレポートはあまり詳細ではないため、最適化する必要があります。ここでは新しいレポート テンプレートを使用します: 、デフォルトのレポート テンプレートはjmeter-results-detail-report_21

1. スタイル ファイルをダウンロードします。

2. ダウンロードしたファイルを jmeter の extras ディレクトリに置きます。

3. jmeter.properties ファイルの次の部分を変更します.ここでは true に変更して、スクリプトの実行後に結果が .jtl ファイルに保存されるようにします:

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

4. jmeter 4.0 はbuild.xmlデフォルトで複数のスクリプトをバッチで実行するためのワイルドカードをサポートしていないため、build.xmlここで構成ファイルを変更してバッチ実行を実装し、新しいテスト レポートに置き換えます。具体的なスクリプトは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">

<!-- 根据时间戳来命名测试报告名称-->
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>

<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\Users\apache-jmeter-5.2.1" />
<!-- 设置脚本的测试目录-->
<property name="jmeter.dir" value="loadTest" />

<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${jmeter.home}\${jmeter.dir}\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${jmeter.home}\${jmeter.dir}\report\html" />

<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />

<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>

<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl">

<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,也可以指定具体执行的脚本-->
<testplans dir="${jmeter.home}\${jmeter.dir}" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>

</jmeter>
</target>

<target name="report">
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>

<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>

<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
</project>

5. スクリプトを実行し、次のようにレポートを生成します. 表示される内容が以前のレポートよりもはるかに多く、問題を見つけるのがより便利で直感的であることは明らかです:

ジェンキンスへの統合

Jenkins で新しいタスクを作成するjmeter_test

ビルド オプションで選択しInvoke Ant 、Build Filebuild.xml 構成ファイル パスを入力します。注: 入力しないでくださいTargets。表示するには、詳細オプションをクリックする必要があります。Build File

 実行後、コンソール出力はcmdと同じであることがわかります

ビルドをカスタマイズしたい場合は、ビルドトリガーで選択できますBuild periodically . 平日の18時に実行したい場合は、次のように設定できます.

兄のアリは熱心に演奏しました。3日間でJmeterインターフェーステストを学ばせてください。学べなければ負けicon-default.png?t=N3I4ます

おすすめ

転載: blog.csdn.net/MXB_1220/article/details/130494763