1. httprunner在乙個用例single_casecenter_postpone.yaml中:
- config:
name: 訂單延期
base_url: $
###前置條件:下單
- test:
name: 正常場景_下單成功
variables:
expected_result: 'e0000' #成功
testcase: testcases/modulecase/casecenter/module_casecenter_takecase.yaml
validate:
- eq: [status_code, 200]
- eq: [content.code, '000000']
- eq: [content.message, '請求成功']
output:
- orderno
- orderid
#######訂單為待接單時,延期訂單失敗
- test:
name: 異常場景_待接單的訂單延期失敗
variables:
expected_result: 'e0004' #當前訂單狀態下,不可執行該操作
api: api/pc/casecenter/casecenterpostpone.yaml
setup_hooks:
- $teardown_hooks:
- $validate:
- eq: [status_code, 200]
- eq: [content.code, '000000']
- eq: [content.message, '請求成功']
- eq: [content.data.result, $expected_result]
- test:
output:
- h5_token
- visitorid #作業人員id
###前置條件:作業人員給自己派單
- test:
name: 作業管理員給自己派單
testcase: testcases/modulecase/module_dispatch_sendorder.yaml
- test:
name: 正常場景_訂單延期成功
variables:
expected_result: 'e0000' #成功
api: api/pc/casecenter/casecenterpostpone.yaml
setup_hooks:
- $teardown_hooks:
- $validate:
- eq: [status_code, 200]
- eq: [content.code, '000000']
- eq: [content.message, '請求成功']
- eq: [content.data.result, $expected_result]
1> 下單module_casecenter_takecase.yaml的網域名稱為a
2> 訂單延期api/pc/casecenter/casecenterpostpone.yaml的網域名稱為a
4>作業管理員給自己派單module_dispatch_sendorder.yaml的網域名稱為c
base_url是httprunner框架支援的乙個關鍵字,該流程中,
6> module模組的module_casecenter_takecase.yaml,api/pc/casecenter/casecenterpostpone.yaml是相同的網域名稱,是通過該流程config的base_url求取的a;
8> 作業管理員給自己派單module_dispatch_sendorder.yaml的網域名稱也是通過在module_dispatch_sendorder.yaml指令碼的config的base_url求取的c;
結論:base_url的作業範圍:優先使用內層module的base_url,若module層沒有求取該值,則會使用外層用例層(flow或single)求取的base_url;故一般base_url在外層用例層求取,用例某個步驟的base_url是其它特殊值時,可在module層裡重新求取該值;
2. 介面中的變數作用範圍:
1> 在用例層single_casecenter_postpone.yaml指令碼中,步驟 異常場景_待接單的訂單延期失敗中,直接呼叫了api層,api介面引數url使用了變數uri賦值
4> 執行指令碼後
重要結論:乙個用例層的步驟中,直接呼叫api層時,同乙個變數uri一直都為第乙個api呼叫時給的值,後面的api介面通過uri賦值不會生效;故api層維護介面時,
url不要通過變數維護,直接給值即可;
如何自己實現乙個HTMLRunner
htmlrunner是模仿unittest自帶的texttestrunner 實現的,我們先來看看texttestrunner 的執行流程。import unittest suite unittest.defaulttestloader.discover with open report.txt w...
不用keytool,tomcat開啟https
要用到https,也就是tls或者ssl,我們需要有證書,要麼是法定證書機構 verisign,中國估計也有 給你簽發的可信證書,要麼自己給tomcat 配置https自己頒發乙個根證書。自己給自己頒發的證書,瀏覽器是不信任的,會彈出乙個提示框。ssl認證分為雙向認證和單向認證 客戶端認證伺服器 一...
不用keytool,tomcat開啟https
要用到https,也就是tls或者ssl,我們需要有證書,要麼是法定證書機構 verisign,中國估計也有 給你簽發的可信證書,要麼自己給tomcat 配置https自己頒發乙個根證書。自己給自己頒發的證書,瀏覽器是不信任的,會彈出乙個提示框。ssl認證分為雙向認證和單向認證 客戶端認證伺服器 一...