htmlrunner用法 httprunner用法

2021-10-13 11:32:18 字數 2340 閱讀 5819

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認證分為雙向認證和單向認證 客戶端認證伺服器 一...