JMeter 安装及入门(Ubuntu)
<h1><span class="content">JMeter 安装及入门(Ubuntu)</span></h1><h2><span class="content">1、安装 Java8</span></h2>
<blockquote class="multiquote-1">
<p>将Linux版的jdk的安装包配置到环境变量即可,很简单方便 oracle现在开始收费了,下载jdk8 的时候需要登录,最好下载一个jdk保存着,否则忘记账号很麻烦</p>
</blockquote>
<p>获取安装包</p>
<ul>
<li>方法1:从网上找一个jdk8的tar.gz包,上传到Ubuntu</li>
<li>方法2:或者从网上找到下载jdk8的Linux版本的链接,使用 <code>wget 下载链接</code>,将jdk下载到当前目录</li>
</ul>
<blockquote class="multiquote-1">
<p>链接:https://pan.baidu.com/s/1X2NZFSDyKtOJDBGtIvck2g 提取码:xz6u</p>
</blockquote>
<p> </p>
<p>解压安装包到指定位置</p>
<pre class="custom"><code class="hljs">sudo tar –zxvf jdk-xxx.tar.gz –C /usr/<span class="hljs-built_in">local/ <span class="hljs-comment"># 位置看个人习惯<br></span></span></code></pre>
<p> </p>
<p>修改配置环境</p>
<pre class="custom"><code class="hljs"><span class="hljs-comment"># 打开文件<br>sudo gedit /etc/profile<br><span class="hljs-comment"># 设置环境变量<br>JAVA_HOME=/usr/<span class="hljs-built_in">local/jdk解压的文件夹<br>CLASSPATH=.:<span class="hljs-variable">$JAVA_HOME/lib.tools.jar<br>PATH=<span class="hljs-variable">$JAVA_HOME/bin:<span class="hljs-variable">$PATH<br><span class="hljs-built_in">export JAVA_HOME CLASSPATH PATH<br></span></span></span></span></span></span></span></code></pre>
<p> </p>
<p>重新加载<code>/etc/profile</code>配置文件</p>
<pre class="custom"><code class="hljs"><span class="hljs-built_in">source /etc/profile<br></span></code></pre>
<p> </p>
<p>查看java版本</p>
<pre class="custom"><code class="hljs">java -version<br></code></pre>
<p> </p>
<h2><span class="content">2、安装 JMeter</span></h2>
<blockquote class="multiquote-1">
<p>链接:https://pan.baidu.com/s/1FvL_6_YGF0pa6T1sEehE5g 提取码:vxbs</p>
</blockquote>
<p>解压压缩包</p>
<pre class="custom"><code class="hljs">sudo tar -zxvf apache-jmeter-x.x.x.tgz –C /usr/<span class="hljs-built_in">local/<br></span></code></pre>
<p> </p>
<p>配置Jmeter环境变量</p>
<pre class="custom"><code class="hljs">sudo gedit /etc/profile<br></code></pre>
<p> </p>
<p>再添加如下变量</p>
<pre class="custom"><code class="hljs"><span class="hljs-built_in">export JMETER=/usr/<span class="hljs-built_in">local/apache-jmeter-x.x.x<br><span class="hljs-built_in">export PATH=<span class="hljs-variable">$JMETER/bin:<span class="hljs-variable">$PATH<br></span></span></span></span></span></code></pre>
<p> </p>
<p>执行命令,配置的环境变量生效</p>
<pre class="custom"><code class="hljs"><span class="hljs-built_in">source /etc/profile<br></span></code></pre>
<p> </p>
<p>检查安装结果:</p>
<pre class="custom"><code class="hljs">jmeter -v<br><br>Jul 15, 2021 10:59:44 PM java.util.prefs.FileSystemPreferences<span class="hljs-variable">$1 run<br>INFO: Created user preferences directory.<br> _ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____<br> / \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \<br> / _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |<br> / ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <<br>/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.4.1<br><br>Copyright (c) 1999-2021 The Apache Software Foundation<br></span></code></pre>
<p> </p>
<p>运行:</p>
<pre class="custom"><code class="hljs">jmeter<br></code></pre>
<p> </p>
<h2><span class="content">3、入门教程</span></h2>
<h3><span class="content">添加线程组(thread group)</span></h3>
<p><img src="https://yxl-article.oss-cn-shenzhen.aliyuncs.com/typora/2021/07/16/141911.png"></p>
<p>线程组里主要的属性:</p>
<ul>
<li>Number of Threads(users):线程数,也叫并发数</li>
<li>Ramp-up period(seconds):多少时间启动所有线程</li>
<li>Loop Count:迭代数</li>
</ul>
<p>注意:一般单机不建议跑太高的线程数,建议在50内。</p>
<p> </p>
<h3><span class="content">添加 http 请求</span></h3>
<p><img src="https://yxl-article.oss-cn-shenzhen.aliyuncs.com/typora/2021/07/16/141919.png"></p>
<p>常用属性:</p>
<ul>
<li>HTTP Request:设置 http method 和 path(url)</li>
<li>Paramters:请求参数,即Url参数</li>
<li>Body Data:请求体数据。对于 api,一般添加 json 数据</li>
<li>Files Upload:文件上传。测试上传文件时使用</li>
</ul>
<p> </p>
<h3><span class="content">添加 http 请求头</span></h3>
<p>除了 http 请求的一些常规属性,有时需要通过 header 传数据。</p>
<p>在线程组右键,”添加(Add)“ -> ”配置元素(Config Element)“ -> ”Http Header管理器(Http Header Management)“</p>
<p><img src="https://yxl-article.oss-cn-shenzhen.aliyuncs.com/typora/2021/07/16/141922.png"></p>
<p>同理,Cookie、Cache 等也一样操作。</p>
<p> </p>
<h3><span class="content">添加断言</span></h3>
<p>断言即判断预期和实际是否一致,JMeter 提供多种断言:Response Assertion、JSON Assertion、HTML Assertion等。</p>
<p>对于 api 测试,一般使用 JSON Assertion,因为返回的结果是 JSON。</p>
<p>在某个 Http 请求上右键,”Add“ -> ”Assertion“ -> ”JSON Assertion“</p>
<p><img src="https://yxl-article.oss-cn-shenzhen.aliyuncs.com/typora/2021/07/16/144123.png"></p>
<ul>
<li>Assert JSON Path exists:要验证的json的路径,这里是 $.success</li>
<li>Additionally assert value:是否验证值</li>
<li>Match as regular expression:是否使用正则匹配</li>
<li>Expected value:预期值。这里是 true</li>
</ul>
<h4><span class="content">json path:</span></h4>
<p><img src="https://img-blog.csdnimg.cn/img_convert/d48b11ccc1ed3d5033d1620f036193b7.png"></p>
<h4><span class="content">json path示例:</span></h4>
<pre class="custom"><code class="hljs">{ <br> <span class="hljs-attr">"store": {<br> <span class="hljs-attr">"book": [ <br> { <span class="hljs-attr">"category": <span class="hljs-string">"reference",<br> <span class="hljs-attr">"author": <span class="hljs-string">"Nigel Rees",<br> <span class="hljs-attr">"title": <span class="hljs-string">"Sayings of the Century",<br> <span class="hljs-attr">"price": <span class="hljs-number">8.95<br> },<br> { <span class="hljs-attr">"category": <span class="hljs-string">"fiction",<br> <span class="hljs-attr">"author": <span class="hljs-string">"Evelyn Waugh",<br> <span class="hljs-attr">"title": <span class="hljs-string">"Sword of Honour",<br> <span class="hljs-attr">"price": <span class="hljs-number">12.99<br> },<br> { <span class="hljs-attr">"category": <span class="hljs-string">"fiction",<br> <span class="hljs-attr">"author": <span class="hljs-string">"Herman Melville",<br> <span class="hljs-attr">"title": <span class="hljs-string">"Moby Dick",<br> <span class="hljs-attr">"isbn": <span class="hljs-string">"0-553-21311-3",<br> <span class="hljs-attr">"price": <span class="hljs-number">8.99<br> },<br> { <span class="hljs-attr">"category": <span class="hljs-string">"fiction",<br> <span class="hljs-attr">"author": <span class="hljs-string">"J. R. R. Tolkien",<br> <span class="hljs-attr">"title": <span class="hljs-string">"The Lord of the Rings",<br> <span class="hljs-attr">"isbn": <span class="hljs-string">"0-395-19395-8",<br> <span class="hljs-attr">"price": <span class="hljs-number">22.99<br> }<br> ],<br> <span class="hljs-attr">"bicycle": {<br> <span class="hljs-attr">"color": <span class="hljs-string">"red",<br> <span class="hljs-attr">"price": <span class="hljs-number">19.95<br> }<br> }<br>}<br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<p><img src="https://img-blog.csdnimg.cn/img_convert/489dfee0f98fe075fa199d935f553453.png"></p>
<p> </p>
<h3><span class="content">添加测试结果</span></h3>
<p>最后要查看测试结果,在线程组右键:”Add“ -> ”Listener“ -> ”View Results Tree“</p>
<p><img src="https://yxl-article.oss-cn-shenzhen.aliyuncs.com/typora/2021/07/16/144116.png"></p>
<div id="yddWrapper" style="left: 1056.55px; top: auto; position: absolute; z-index: 2147483647; bottom: -4462px">
<div id="yddContainer" style="padding: 0" align="left">
<div id="yddTop" class="ydd-sp">
<div id="yddTopBorderlr">IMG <span style="font-weight: normal; font-size: 10px"> </span><span id="voice" style="padding: 2px; height: 16px; width: 13px; display: inline-block; vertical-align: top; cursor: pointer; background-repeat: no-repeat"></span><span style="float: right; font-weight: normal; font-size: 10px">详细</span><span class="ydd-sp ydd-close">X</span></div>
</div>
<div id="yddMiddle">
<div id="yddSimpleTrans" class="ydd-trans-wrapper" style="display: block; padding: 0">
<div class="ydd-tabs"><span class="ydd-tab">基本翻译</span></div>
<div class="ydd-trans-container ydd-padding010">abbr. 美国国际管理集团(International Management Group)</div>
<div class="ydd-trans-container ydd-padding010">n. 编码器</div>
</div>
<div class="ydd-trans-wrapper" style="display: block; padding: 0">
<div class="ydd-tabs"><span class="ydd-tab">网络释义</span></div>
<div class="ydd-trans-container ydd-padding010">IMG: 美国国际管理集团</div>
<div class="ydd-trans-container ydd-padding010">txt-img: 记录器</div>
<div class="ydd-trans-container ydd-padding010">img imgIcon: 图像</div>
</div>
</div>
</div>
</div>
<p></audio></p><br><br>
来源:https://www.cnblogs.com/liang24/p/15020112.html
頁:
[1]