<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 一 斷言 測試指定的restful api是否正常,判斷它的響應值是否符合預期標準,需要用到斷言知識。在soapUI里斷言使用的Groovy語言。在項目中測試起來非常簡單,測試過程如下。 1,準備測試數據 以下是準備的測試數據,它是一個JSON格式的數據列表。在resources節點中,它包含3個用戶消息子節點。 ``` { "total": 3, "resources": [ { "username": "test03-SD", "created": "1496800026000", "uuid": "8f6cae8a24ab4d0887dd5907430075e7", "contractNumber": "131" }, { "username": "test02", "created": "1489479452000", "name": "8bbf9fded675472aa852cf1940bc8234", "contractNumber": "133" }, { "username": "test01", "created": "1487576620000", "name": "156b396f9b354467b5d1d1a1014b2d10" } ], "time": "2017年06月13日 10時25分07秒", "pageNum": 1 } ``` 2 添加斷言 在HTTP Request里添加斷言,如下圖所示。 ![](https://img.kancloud.cn/8a/2b/8a2be7c6fa7df886d9c9c1531513ce40_969x169.png) 然后在彈出的Add Assertion窗口,選擇Script項。 ![](https://img.kancloud.cn/12/82/128286753965b454bd4e3d48b5da86c3_520x401.png) 3 判斷total屬性的值 使用Script Assertion 測試JSON 格式的列表,在Script Assertion 窗口中寫入如下代碼: ``` def booksRoot = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent); def total = booksRoot.get("total"); assert total == 3 ``` 返回結果如下: ![](https://img.kancloud.cn/79/5e/795e3f38df65287078c1d9c59b85e4bf_1053x641.png) 可以看到斷言中total對應的值與測試值是一樣的,如果故意寫錯,會怎么樣呢?錯誤的斷言如下: ``` def booksRoot = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent); def total = booksRoot.get("total"); assert total == 10 ``` 返回結果如下: ![](https://img.kancloud.cn/32/26/3226290f8e7662981c23c43cfcca9a58_1031x617.png) 可以看到soapUI提示斷言中total的判斷是錯誤的,應該為3。 4 判斷resources節點的長度 使用的斷言腳本如下: ~~~ def root = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent); def resources = root.get("resources"); assert resources.size() == 3 ~~~ 5 判斷resource第一個節點的username屬性為test03-SD ~~~ def root = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent); def resources = root.get("resources"); assert resources[0].get('username') == 'test03-SD' ~~~ # 二 例子 1,測試帶參數的restful api 請求地址:? http://127.0.0.1:8083/auth/api/v2/user/userList?param={"user\_userType":"1","startpage":"1","pagesize":"10","morgId":"e1339799-628e-11e6-9e1b-e0db55cd9154"} 請求方法: get 返回json格式數據: ``` [ { "uuid": "053c951668a04144addc3336fc3967ad", "created": 1491976927000, "username": "吉林域管理員", "password": null, "firstname": "吉林", "lastname": null, "email": "123@qq.com", "state": "enabled", "apiKey": null, "secretKey": null, "salt": "c271b448fe2bf0dacadc7680a85116bc", "userType": "1", "tenantId": null, "sex": "2", "location": null, "contractNumber": null, "qq": null, "photoPath": null, "incorrectLoginAttempts": 0, "roleList": null, "tenantName": null, "morgId": "9ea8e621-628e-11e6-9e1b-e0db55cd9154", "morgName": "吉林分公司", "userMorgUuid": null, "uorgName": null, "uorgPath": null, "projectName": null, "morgPath": "//吉林分公司", "roleUuid": null, "userIds": null }, { "uuid": "088d6cf6a9c345b2b7191fe9a8366fcb", "created": 1487226069000, "username": "湖北域管理員2345", "password": null, "firstname": "111", "lastname": null, "email": "1@1.cn", "state": "enabled", "apiKey": null, "secretKey": null, "salt": "a41cd19102835984efba2f03af18b619", "userType": "1", "tenantId": null, "sex": "1", "location": null, "contractNumber": null, "qq": null, "photoPath": null, "incorrectLoginAttempts": 0, "roleList": null, "tenantName": null, "morgId": "9ebbe3c1-628e-11e6-9e1b-e0db55cd9154", "morgName": "湖北分公司", "userMorgUuid": null, "uorgName": null, "uorgPath": null, "projectName": null, "morgPath": "//湖北分公司", "roleUuid": null, "userIds": null } ] ``` soapUI中Http Requst配置,添加請求參數。 ![](https://img.kancloud.cn/1a/10/1a10391991fd2bccdfbb571a9c0d695a_965x387.png) ? 測試斷言: ~~~ def root = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent); log.info( root.size() ) assert root.size() == 2 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看