postman tests,postman 断言,断言大全,postman所有断言

断言,测试例子

在发送请求并从服务器收到响应后运行测试脚本。

我们来看一些Postman测试的例子。其中大多数都是Postman内部的片段。您可以根据需要为请求运行任意数量的测试。

设置环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#0077aa">set</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">,</span> <span style="color:#669900">"variable_value"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

将嵌套对象设置为环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> array <span style="color:#a67f59">=</span> <span style="color:#999999">[</span><span style="color:#990055">1</span><span style="color:#999999">,</span> <span style="color:#990055">2</span><span style="color:#999999">,</span> <span style="color:#990055">3</span><span style="color:#999999">,</span> <span style="color:#990055">4</span><span style="color:#999999">]</span><span style="color:#999999">;</span>
pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#0077aa">set</span><span style="color:#999999">(</span><span style="color:#669900">"array"</span><span style="color:#999999">,</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">stringify</span><span style="color:#999999">(</span>array<span style="color:#999999">,</span> <span style="color:#0077aa">null</span><span style="color:#999999">,</span> <span style="color:#990055">2</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

<span style="color:#0077aa">var</span> obj <span style="color:#a67f59">=</span> <span style="color:#999999">{</span> a<span style="color:#999999">:</span> <span style="color:#999999">[</span><span style="color:#990055">1</span><span style="color:#999999">,</span> <span style="color:#990055">2</span><span style="color:#999999">,</span> <span style="color:#990055">3</span><span style="color:#999999">,</span> <span style="color:#990055">4</span><span style="color:#999999">]</span><span style="color:#999999">,</span> b<span style="color:#999999">:</span> <span style="color:#999999">{</span> c<span style="color:#999999">:</span> <span style="color:#669900">'val'</span> <span style="color:#999999">}</span> <span style="color:#999999">}</span><span style="color:#999999">;</span>
pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#0077aa">set</span><span style="color:#999999">(</span><span style="color:#669900">"obj"</span><span style="color:#999999">,</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">stringify</span><span style="color:#999999">(</span>obj<span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

获取环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#0077aa">get</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

获取环境变量(其值是字符串化对象)

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#708090">// These statements should be wrapped in a try-catch block if the data is coming from an unknown source.</span>

<span style="color:#0077aa">var</span> array <span style="color:#a67f59">=</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#0077aa">get</span><span style="color:#999999">(</span><span style="color:#669900">"array"</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#0077aa">var</span> obj <span style="color:#a67f59">=</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#0077aa">get</span><span style="color:#999999">(</span><span style="color:#669900">"obj"</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

清除环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>environment<span style="color:#999999">.</span><span style="color:#dd4a68">unset</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

设置全局变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>globals<span style="color:#999999">.</span><span style="color:#0077aa">set</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">,</span> <span style="color:#669900">"variable_value"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

获取全局变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>globals<span style="color:#999999">.</span><span style="color:#0077aa">get</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

清除全局变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>globals<span style="color:#999999">.</span><span style="color:#dd4a68">unset</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

得到一个变量

此函数在全局变量和活动环境中搜索变量。

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span>variables<span style="color:#999999">.</span><span style="color:#0077aa">get</span><span style="color:#999999">(</span><span style="color:#669900">"variable_key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

检查响应主体是否包含字符串

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Body matches string"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span><span style="color:#dd4a68">text</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span><span style="color:#dd4a68">include</span><span style="color:#999999">(</span><span style="color:#669900">"string_you_want_to_search"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

检查响应主体是否等于字符串

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Body is correct"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span>to<span style="color:#999999">.</span>have<span style="color:#999999">.</span><span style="color:#dd4a68">body</span><span style="color:#999999">(</span><span style="color:#669900">"response_body_string"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

检查JSON值

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Your test name"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    <span style="color:#0077aa">var</span> jsonData <span style="color:#a67f59">=</span> pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span><span style="color:#dd4a68">json</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
    pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>jsonData<span style="color:#999999">.</span>value<span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span><span style="color:#dd4a68">eql</span><span style="color:#999999">(</span><span style="color:#990055">100</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

内容类型存在

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Content-Type is present"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span>to<span style="color:#999999">.</span>have<span style="color:#999999">.</span><span style="color:#dd4a68">header</span><span style="color:#999999">(</span><span style="color:#669900">"Content-Type"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

响应时间小于200毫秒

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Response time is less than 200ms"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span>responseTime<span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#dd4a68">below</span><span style="color:#999999">(</span><span style="color:#990055">200</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

状态代码是200

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Status code is 200"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span>to<span style="color:#999999">.</span>have<span style="color:#999999">.</span><span style="color:#dd4a68">status</span><span style="color:#999999">(</span><span style="color:#990055">200</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

代码名称包含一个字符串

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Status code name has string"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span>to<span style="color:#999999">.</span>have<span style="color:#999999">.</span><span style="color:#dd4a68">status</span><span style="color:#999999">(</span><span style="color:#669900">"Created"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

成功的POST请求状态代码

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">"Successful POST request"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>pm<span style="color:#999999">.</span>response<span style="color:#999999">.</span>code<span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#dd4a68">oneOf</span><span style="color:#999999">(</span><span style="color:#999999">[</span><span style="color:#990055">201</span><span style="color:#999999">,</span><span style="color:#990055">202</span><span style="color:#999999">]</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

使用TinyValidator获取JSON数据

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> schema <span style="color:#a67f59">=</span> <span style="color:#999999">{</span>
 <span style="color:#669900">"items"</span><span style="color:#999999">:</span> <span style="color:#999999">{</span>
 <span style="color:#669900">"type"</span><span style="color:#999999">:</span> <span style="color:#669900">"boolean"</span>
 <span style="color:#999999">}</span>
<span style="color:#999999">}</span><span style="color:#999999">;</span>
<span style="color:#0077aa">var</span> data1 <span style="color:#a67f59">=</span> <span style="color:#999999">[</span><span style="color:#990055">true</span><span style="color:#999999">,</span> <span style="color:#990055">false</span><span style="color:#999999">]</span><span style="color:#999999">;</span>
<span style="color:#0077aa">var</span> data2 <span style="color:#a67f59">=</span> <span style="color:#999999">[</span><span style="color:#990055">true</span><span style="color:#999999">,</span> <span style="color:#990055">123</span><span style="color:#999999">]</span><span style="color:#999999">;</span>

pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">'Schema is valid'</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
  pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>tv4<span style="color:#999999">.</span><span style="color:#dd4a68">validate</span><span style="color:#999999">(</span>data1<span style="color:#999999">,</span> schema<span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#990055">true</span><span style="color:#999999">;</span>
  pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>tv4<span style="color:#999999">.</span><span style="color:#dd4a68">validate</span><span style="color:#999999">(</span>data2<span style="color:#999999">,</span> schema<span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#990055">true</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

JSON模式验证器

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> Ajv <span style="color:#a67f59">=</span> <span style="color:#dd4a68">require</span><span style="color:#999999">(</span><span style="color:#669900">'ajv'</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
    ajv <span style="color:#a67f59">=</span> <span style="color:#0077aa">new</span> Ajv<span style="color:#999999">(</span><span style="color:#999999">{</span>logger<span style="color:#999999">:</span> console<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
    schema <span style="color:#a67f59">=</span> <span style="color:#999999">{</span>
        <span style="color:#669900">"properties"</span><span style="color:#999999">:</span> <span style="color:#999999">{</span>
            <span style="color:#669900">"alpha"</span><span style="color:#999999">:</span> <span style="color:#999999">{</span>
                <span style="color:#669900">"type"</span><span style="color:#999999">:</span> <span style="color:#669900">"boolean"</span>
            <span style="color:#999999">}</span>
        <span style="color:#999999">}</span>
    <span style="color:#999999">}</span><span style="color:#999999">;</span>

pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">'Schema is valid'</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
    pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>ajv<span style="color:#999999">.</span><span style="color:#dd4a68">validate</span><span style="color:#999999">(</span>schema<span style="color:#999999">,</span> <span style="color:#999999">{</span>alpha<span style="color:#999999">:</span> <span style="color:#990055">true</span><span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#990055">true</span><span style="color:#999999">;</span>
    pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>ajv<span style="color:#999999">.</span><span style="color:#dd4a68">validate</span><span style="color:#999999">(</span>schema<span style="color:#999999">,</span> <span style="color:#999999">{</span>alpha<span style="color:#999999">:</span> <span style="color:#990055">123</span><span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#990055">false</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

解码base64编码数据

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> intermediate<span style="color:#999999">,</span>
	base64Content<span style="color:#999999">,</span> <span style="color:#708090">// assume this has a base64 encoded value</span>
	rawContent <span style="color:#a67f59">=</span> base64Content<span style="color:#999999">.</span><span style="color:#dd4a68">slice</span><span style="color:#999999">(</span><span style="color:#669900">'data:application/octet-stream;base64,'</span><span style="color:#999999">.</span>length<span style="color:#999999">)</span><span style="color:#999999">;</span>

intermediate <span style="color:#a67f59">=</span> CryptoJS<span style="color:#999999">.</span>enc<span style="color:#999999">.</span>Base64<span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>base64content<span style="color:#999999">)</span><span style="color:#999999">;</span> <span style="color:#708090">// CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js</span>
pm<span style="color:#999999">.</span><span style="color:#dd4a68">test</span><span style="color:#999999">(</span><span style="color:#669900">'Contents are valid'</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
  pm<span style="color:#999999">.</span><span style="color:#dd4a68">expect</span><span style="color:#999999">(</span>CryptoJS<span style="color:#999999">.</span>enc<span style="color:#999999">.</span>Utf8<span style="color:#999999">.</span><span style="color:#dd4a68">stringify</span><span style="color:#999999">(</span>intermediate<span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">.</span>to<span style="color:#999999">.</span>be<span style="color:#999999">.</span><span style="color:#990055">true</span><span style="color:#999999">;</span> <span style="color:#708090">// a check for non-emptiness</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

发送异步请求

此功能既可用作预请求脚本,也可用作测试脚本。

<span style="color:#212529"><span style="color:#282828"><code class="language-js">pm<span style="color:#999999">.</span><span style="color:#dd4a68">sendRequest</span><span style="color:#999999">(</span><span style="color:#669900">"https://postman-echo.com/get"</span><span style="color:#999999">,</span> <span style="color:#0077aa">function</span> <span style="color:#999999">(</span>err<span style="color:#999999">,</span> response<span style="color:#999999">)</span> <span style="color:#999999">{</span>
    console<span style="color:#999999">.</span><span style="color:#dd4a68">log</span><span style="color:#999999">(</span>response<span style="color:#999999">.</span><span style="color:#dd4a68">json</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#999999">}</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

将XML主体转换为JSON对象

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> jsonObject <span style="color:#a67f59">=</span> <span style="color:#dd4a68">xml2Json</span><span style="color:#999999">(</span>responseBody<span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

示例数据文件

JSON文件由键/值对组成。

下载JSON文件

对于CSV文件,顶行需要包含变量名称。

下载CSV文件

较旧的写作邮差测试风格

较旧的Postman测试编写风格依赖于特殊tests对象的设置值。您可以为对象中的元素设置描述性键,然后说明它是真还是假。例如,tests["Body contains user_id"] = responsebody.has("user_id");将检查响应主体是否包含user_id字符串。

您可以根据需要添加任意数量的密钥,具体取决于您要测试的内容。您可以在“ 测试”选项卡下的响应查看器中查看测试结果。选项卡标题显示传递了多少测试,并在此处列出了您在tests变量中设置的键。如果值的计算结果为true,则测试通过。

设置环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">postman<span style="color:#999999">.</span><span style="color:#dd4a68">setEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"key"</span><span style="color:#999999">,</span> <span style="color:#669900">"value"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

将嵌套对象设置为环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> array <span style="color:#a67f59">=</span> <span style="color:#999999">[</span><span style="color:#990055">1</span><span style="color:#999999">,</span> <span style="color:#990055">2</span><span style="color:#999999">,</span> <span style="color:#990055">3</span><span style="color:#999999">,</span> <span style="color:#990055">4</span><span style="color:#999999">]</span><span style="color:#999999">;</span>
postman<span style="color:#999999">.</span><span style="color:#dd4a68">setEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"array"</span><span style="color:#999999">,</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">stringify</span><span style="color:#999999">(</span>array<span style="color:#999999">,</span> <span style="color:#0077aa">null</span><span style="color:#999999">,</span> <span style="color:#990055">2</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

<span style="color:#0077aa">var</span> obj <span style="color:#a67f59">=</span> <span style="color:#999999">{</span> a<span style="color:#999999">:</span> <span style="color:#999999">[</span><span style="color:#990055">1</span><span style="color:#999999">,</span> <span style="color:#990055">2</span><span style="color:#999999">,</span> <span style="color:#990055">3</span><span style="color:#999999">,</span> <span style="color:#990055">4</span><span style="color:#999999">]</span><span style="color:#999999">,</span> b<span style="color:#999999">:</span> <span style="color:#999999">{</span> c<span style="color:#999999">:</span> <span style="color:#669900">'val'</span> <span style="color:#999999">}</span> <span style="color:#999999">}</span><span style="color:#999999">;</span>
postman<span style="color:#999999">.</span><span style="color:#dd4a68">setEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"obj"</span><span style="color:#999999">,</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">stringify</span><span style="color:#999999">(</span>obj<span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

获取环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">postman<span style="color:#999999">.</span><span style="color:#dd4a68">getEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

获取环境变量(其值是字符串化对象)

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#708090">// These statements should be wrapped in a try-catch block if the data is coming from an unknown source.</span>

<span style="color:#0077aa">var</span> array <span style="color:#a67f59">=</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>postman<span style="color:#999999">.</span><span style="color:#dd4a68">getEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"array"</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
<span style="color:#0077aa">var</span> obj <span style="color:#a67f59">=</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>postman<span style="color:#999999">.</span><span style="color:#dd4a68">getEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"obj"</span><span style="color:#999999">)</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

清除环境变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">postman<span style="color:#999999">.</span><span style="color:#dd4a68">clearEnvironmentVariable</span><span style="color:#999999">(</span><span style="color:#669900">"key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

设置全局变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">postman<span style="color:#999999">.</span><span style="color:#dd4a68">setGlobalVariable</span><span style="color:#999999">(</span><span style="color:#669900">"key"</span><span style="color:#999999">,</span> <span style="color:#669900">"value"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

获取全局变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">postman<span style="color:#999999">.</span><span style="color:#dd4a68">getGlobalVariable</span><span style="color:#999999">(</span><span style="color:#669900">"key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span> </code></span></span>

清除全局变量

<span style="color:#212529"><span style="color:#282828"><code class="language-js">postman<span style="color:#999999">.</span><span style="color:#dd4a68">clearGlobalVariable</span><span style="color:#999999">(</span><span style="color:#669900">"key"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

检查响应主体是否包含字符串

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Body matches string"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseBody<span style="color:#999999">.</span><span style="color:#dd4a68">has</span><span style="color:#999999">(</span><span style="color:#669900">"string_you_want_to_search"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

将XML主体转换为JSON对象

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> jsonObject <span style="color:#a67f59">=</span> <span style="color:#dd4a68">xml2Json</span><span style="color:#999999">(</span>responseBody<span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

检查响应主体是否等于字符串

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Body is correct"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseBody <span style="color:#a67f59">===</span> <span style="color:#669900">"response_body_string"</span><span style="color:#999999">;</span></code></span></span>

检查JSON值

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> data <span style="color:#a67f59">=</span> <span style="color:#990055">JSON</span><span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>responseBody<span style="color:#999999">)</span><span style="color:#999999">;</span>
tests<span style="color:#999999">[</span><span style="color:#669900">"Your test name"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> data<span style="color:#999999">.</span>value <span style="color:#a67f59">===</span> <span style="color:#990055">100</span><span style="color:#999999">;</span></code></span></span>

存在Content-Type(不区分大小写的检查)

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Content-Type is present"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> postman<span style="color:#999999">.</span><span style="color:#dd4a68">getResponseHeader</span><span style="color:#999999">(</span><span style="color:#669900">"Content-Type"</span><span style="color:#999999">)</span><span style="color:#999999">;</span> <span style="color:#708090">//Note: the getResponseHeader() method returns the header value, if it exists.</span></code></span></span>

内容类型存在(区分大小写)

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Content-Type is present"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseHeaders<span style="color:#999999">.</span><span style="color:#dd4a68">hasOwnProperty</span><span style="color:#999999">(</span><span style="color:#669900">"Content-Type"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

响应时间小于200毫秒

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Response time is less than 200ms"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseTime <span style="color:#a67f59"><</span> <span style="color:#990055">200</span><span style="color:#999999">;</span></code></span></span>

响应时间在特定范围内(包含下限,上限不包括)

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Response time is acceptable"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> _<span style="color:#999999">.</span><span style="color:#dd4a68">inRange</span><span style="color:#999999">(</span>responseTime<span style="color:#999999">,</span> <span style="color:#990055">100</span><span style="color:#999999">,</span> <span style="color:#990055">1001</span><span style="color:#999999">)</span><span style="color:#999999">;</span> <span style="color:#708090">// _ is the inbuilt Lodash v3.10.1 object, documented at https://lodash.com/docs/3.10.1</span></code></span></span>

状态代码是200

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Status code is 200"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseCode<span style="color:#999999">.</span>code <span style="color:#a67f59">===</span> <span style="color:#990055">200</span><span style="color:#999999">;</span></code></span></span>

代码名称包含一个字符串

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Status code name has string"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseCode<span style="color:#999999">.</span>name<span style="color:#999999">.</span><span style="color:#dd4a68">has</span><span style="color:#999999">(</span><span style="color:#669900">"Created"</span><span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

成功的POST请求状态代码

<span style="color:#212529"><span style="color:#282828"><code class="language-js">tests<span style="color:#999999">[</span><span style="color:#669900">"Successful POST request"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> responseCode<span style="color:#999999">.</span>code <span style="color:#a67f59">===</span> <span style="color:#990055">201</span> <span style="color:#a67f59">||</span> responseCode<span style="color:#999999">.</span>code <span style="color:#a67f59">===</span> <span style="color:#990055">202</span><span style="color:#999999">;</span></code></span></span>

使用TinyValidator获取JSON数据

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> schema <span style="color:#a67f59">=</span> <span style="color:#999999">{</span>
 <span style="color:#669900">"items"</span><span style="color:#999999">:</span> <span style="color:#999999">{</span>
 <span style="color:#669900">"type"</span><span style="color:#999999">:</span> <span style="color:#669900">"boolean"</span>
 <span style="color:#999999">}</span>
<span style="color:#999999">}</span><span style="color:#999999">;</span>
<span style="color:#0077aa">var</span> data1 <span style="color:#a67f59">=</span> <span style="color:#999999">[</span><span style="color:#990055">true</span><span style="color:#999999">,</span> <span style="color:#990055">false</span><span style="color:#999999">]</span><span style="color:#999999">;</span>
<span style="color:#0077aa">var</span> data2 <span style="color:#a67f59">=</span> <span style="color:#999999">[</span><span style="color:#990055">true</span><span style="color:#999999">,</span> <span style="color:#990055">123</span><span style="color:#999999">]</span><span style="color:#999999">;</span>

tests<span style="color:#999999">[</span><span style="color:#669900">"Valid Data1"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> tv4<span style="color:#999999">.</span><span style="color:#dd4a68">validate</span><span style="color:#999999">(</span>data1<span style="color:#999999">,</span> schema<span style="color:#999999">)</span><span style="color:#999999">;</span>
tests<span style="color:#999999">[</span><span style="color:#669900">"Valid Data2"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> tv4<span style="color:#999999">.</span><span style="color:#dd4a68">validate</span><span style="color:#999999">(</span>data2<span style="color:#999999">,</span> schema<span style="color:#999999">)</span><span style="color:#999999">;</span>
console<span style="color:#999999">.</span><span style="color:#dd4a68">log</span><span style="color:#999999">(</span><span style="color:#669900">"Validation failed: "</span><span style="color:#999999">,</span> tv4<span style="color:#999999">.</span>error<span style="color:#999999">)</span><span style="color:#999999">;</span></code></span></span>

解码base64编码数据

<span style="color:#212529"><span style="color:#282828"><code class="language-js"><span style="color:#0077aa">var</span> intermediate<span style="color:#999999">,</span>
	base64Content<span style="color:#999999">,</span> <span style="color:#708090">// assume this has a base64 encoded value</span>
	rawContent <span style="color:#a67f59">=</span> base64Content<span style="color:#999999">.</span><span style="color:#dd4a68">slice</span><span style="color:#999999">(</span><span style="color:#669900">'data:application/octet-stream;base64,'</span><span style="color:#999999">.</span>length<span style="color:#999999">)</span><span style="color:#999999">;</span>

intermediate <span style="color:#a67f59">=</span> CryptoJS<span style="color:#999999">.</span>enc<span style="color:#999999">.</span>Base64<span style="color:#999999">.</span><span style="color:#dd4a68">parse</span><span style="color:#999999">(</span>base64content<span style="color:#999999">)</span><span style="color:#999999">;</span> <span style="color:#708090">// CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js</span>
tests<span style="color:#999999">[</span><span style="color:#669900">"Contents are valid"</span><span style="color:#999999">]</span> <span style="color:#a67f59">=</span> CryptoJS<span style="color:#999999">.</span>enc<span style="color:#999999">.</span>Utf8<span style="color:#999999">.</span><span style="color:#dd4a68">stringify</span><span style="color:#999999">(</span>intermediate<span style="color:#999999">)</span><span style="color:#999999">;</span> <span style="color:#708090">// a check for non-emptiness</span></code></span></span>
发布了29 篇原创文章 · 获赞 25 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/woguyanli/article/details/96875908