mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-12 16:01:27 +08:00
change: update exit code
This commit is contained in:
@@ -13,29 +13,6 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"teststeps": [
|
"teststeps": [
|
||||||
{
|
|
||||||
"name": "查看时间戳",
|
|
||||||
"ios": {
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"method": "home"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"method": "app_terminate",
|
|
||||||
"params": "com.apple.mobilesafari"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"method": "swipe_to_tap_app",
|
|
||||||
"params": "timestamp",
|
|
||||||
"max_retry_times": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"method": "sleep",
|
|
||||||
"params": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "启动抖音",
|
"name": "启动抖音",
|
||||||
"ios": {
|
"ios": {
|
||||||
@@ -80,6 +57,38 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "进入购物页",
|
||||||
|
"ios": {
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"method": "tap_ocr",
|
||||||
|
"params": "购物",
|
||||||
|
"identifier": "点击购物"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "sleep",
|
||||||
|
"params": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "进入推荐页",
|
||||||
|
"ios": {
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"method": "tap_ocr",
|
||||||
|
"params": "推荐",
|
||||||
|
"identifier": "点击推荐"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "sleep",
|
||||||
|
"params": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "向上滑动 2 次",
|
"name": "向上滑动 2 次",
|
||||||
"ios": {
|
"ios": {
|
||||||
|
|||||||
@@ -16,11 +16,6 @@ func TestWDALog(t *testing.T) {
|
|||||||
}).
|
}).
|
||||||
SetIOS(hrp.WithLogOn(true), hrp.WithWDAPort(8700), hrp.WithWDAMjpegPort(8800)),
|
SetIOS(hrp.WithLogOn(true), hrp.WithWDAPort(8700), hrp.WithWDAMjpegPort(8800)),
|
||||||
TestSteps: []hrp.IStep{
|
TestSteps: []hrp.IStep{
|
||||||
hrp.NewStep("查看时间戳").
|
|
||||||
IOS().
|
|
||||||
Home().
|
|
||||||
AppTerminate("com.apple.mobilesafari").
|
|
||||||
SwipeToTapApp("timestamp", hrp.WithMaxRetryTimes(5)).Sleep(3),
|
|
||||||
hrp.NewStep("启动抖音").
|
hrp.NewStep("启动抖音").
|
||||||
IOS().
|
IOS().
|
||||||
Home().
|
Home().
|
||||||
@@ -31,6 +26,10 @@ func TestWDALog(t *testing.T) {
|
|||||||
hrp.NewStep("处理青少年弹窗").
|
hrp.NewStep("处理青少年弹窗").
|
||||||
IOS().
|
IOS().
|
||||||
TapByOCR("我知道了", hrp.WithIgnoreNotFoundError(true)),
|
TapByOCR("我知道了", hrp.WithIgnoreNotFoundError(true)),
|
||||||
|
hrp.NewStep("进入购物页").
|
||||||
|
IOS().TapByOCR("购物", hrp.WithIdentifier("点击购物")).Sleep(5),
|
||||||
|
hrp.NewStep("进入推荐页").
|
||||||
|
IOS().TapByOCR("推荐", hrp.WithIdentifier("点击推荐")).Sleep(5),
|
||||||
hrp.NewStep("向上滑动 2 次").
|
hrp.NewStep("向上滑动 2 次").
|
||||||
IOS().
|
IOS().
|
||||||
SwipeUp(hrp.WithIdentifier("第 1 次上划")).Sleep(2).
|
SwipeUp(hrp.WithIdentifier("第 1 次上划")).Sleep(2).
|
||||||
|
|||||||
@@ -4,92 +4,102 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
// general: [0, 20)
|
// general: [0, 2)
|
||||||
const (
|
const (
|
||||||
Success = 0
|
Success = 0
|
||||||
GeneralFail = 1
|
GeneralFail = 1
|
||||||
)
|
)
|
||||||
|
|
||||||
// loader: [20, 40)
|
// environment: [2, 10)
|
||||||
|
|
||||||
|
// loader: [10, 20)
|
||||||
var (
|
var (
|
||||||
LoadError = errors.New("load error") // 20
|
LoadError = errors.New("load error") // 10
|
||||||
LoadJSONError = errors.New("load json error") // 21
|
LoadJSONError = errors.New("load json error") // 11
|
||||||
LoadYAMLError = errors.New("load yaml error") // 22
|
LoadYAMLError = errors.New("load yaml error") // 12
|
||||||
)
|
)
|
||||||
|
|
||||||
// parser: [40, 60)
|
// parser: [20, 30)
|
||||||
var (
|
var (
|
||||||
ParseError = errors.New("parse error") // 40
|
ParseError = errors.New("parse error") // 20
|
||||||
ParseConfigError = errors.New("parse config error") // 41
|
ParseStringError = errors.New("parse string failed") // 21
|
||||||
ParseStringError = errors.New("parse string failed") // 42
|
ParseVariablesError = errors.New("parse variables failed") // 22
|
||||||
ParseVariablesError = errors.New("parse variables failed") // 43
|
ParseConfigError = errors.New("parse config error") // 25
|
||||||
)
|
)
|
||||||
|
|
||||||
// runner: [60, 100)
|
// runner: [30, 40)
|
||||||
|
|
||||||
// ios related: [100, 130)
|
// summary: [40, 50)
|
||||||
|
|
||||||
|
// ios device related: [50, 60)
|
||||||
var (
|
var (
|
||||||
IOSDeviceConnectionError = errors.New("ios device connection error") // 100
|
IOSDeviceConnectionError = errors.New("ios device connection error") // 50
|
||||||
IOSDeviceHTTPDriverError = errors.New("ios device HTTP driver error") // 101
|
IOSDeviceHTTPDriverError = errors.New("ios device HTTP driver error") // 51
|
||||||
IOSDeviceUSBDriverError = errors.New("ios device USB driver error") // 102
|
IOSDeviceUSBDriverError = errors.New("ios device USB driver error") // 52
|
||||||
IOSScreenShotError = errors.New("ios screenshot error") // 110
|
IOSScreenShotError = errors.New("ios screenshot error") // 55
|
||||||
IOSCaptureLogError = errors.New("ios capture log error") // 111
|
IOSCaptureLogError = errors.New("ios capture log error") // 56
|
||||||
|
|
||||||
MobileUIDriverError = errors.New("mobile UI driver error") // 120
|
|
||||||
MobileUIValidationError = errors.New("mobile UI validation error") // 121
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// android related: [130, 160)
|
// android device related: [60, 70)
|
||||||
var (
|
var (
|
||||||
AndroidDeviceConnectionError = errors.New("android device connection error") // 130
|
AndroidDeviceConnectionError = errors.New("android device connection error") // 60
|
||||||
AndroidDeviceDriverError = errors.New("android device driver error") // 131
|
AndroidDeviceDriverError = errors.New("android device driver error") // 61
|
||||||
AndroidScreenShotError = errors.New("android screenshot error") // 150
|
AndroidScreenShotError = errors.New("android screenshot error") // 65
|
||||||
AndroidCaptureLogError = errors.New("android capture log error") // 151
|
AndroidCaptureLogError = errors.New("android capture log error") // 66
|
||||||
)
|
)
|
||||||
|
|
||||||
// OCR related: [160, 180)
|
// UI automation related: [70, 80)
|
||||||
var (
|
var (
|
||||||
OCREnvMissedError = errors.New("veDEM OCR env missed error") // 160
|
MobileUIDriverError = errors.New("mobile UI driver error") // 70
|
||||||
OCRRequestError = errors.New("vedem ocr prepare request error") // 161
|
MobileUIValidationError = errors.New("mobile UI validation error") // 75
|
||||||
OCRServiceConnectionError = errors.New("vedem ocr service connect error") // 162
|
|
||||||
OCRResponseError = errors.New("vedem ocr parse response error") // 163
|
|
||||||
OCRTextNotFoundError = errors.New("vedem ocr text not found") // 164
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// CV related: [180, 200)
|
// OCR related: [80, 90)
|
||||||
|
var (
|
||||||
|
OCREnvMissedError = errors.New("OCR env missed error") // 80
|
||||||
|
OCRRequestError = errors.New("OCR prepare request error") // 81
|
||||||
|
OCRServiceConnectionError = errors.New("OCR service connect error") // 82
|
||||||
|
OCRResponseError = errors.New("OCR parse response error") // 83
|
||||||
|
OCRTextNotFoundError = errors.New("OCR text not found") // 84
|
||||||
|
)
|
||||||
|
|
||||||
// report related: [200, 220)
|
// CV related: [90, 100)
|
||||||
|
|
||||||
var errorsMap = map[error]int{
|
var errorsMap = map[error]int{
|
||||||
// loader
|
// loader
|
||||||
LoadJSONError: 10,
|
LoadError: 10,
|
||||||
LoadYAMLError: 11,
|
LoadJSONError: 11,
|
||||||
|
LoadYAMLError: 12,
|
||||||
|
|
||||||
// parser
|
// parser
|
||||||
ParseError: 40,
|
ParseError: 20,
|
||||||
ParseConfigError: 41,
|
ParseStringError: 21,
|
||||||
ParseStringError: 42,
|
ParseVariablesError: 22,
|
||||||
ParseVariablesError: 43,
|
ParseConfigError: 25,
|
||||||
|
|
||||||
// ios related
|
// ios related
|
||||||
IOSDeviceConnectionError: 100,
|
IOSDeviceConnectionError: 50,
|
||||||
IOSDeviceHTTPDriverError: 101,
|
IOSDeviceHTTPDriverError: 51,
|
||||||
IOSDeviceUSBDriverError: 102,
|
IOSDeviceUSBDriverError: 52,
|
||||||
IOSScreenShotError: 110,
|
IOSScreenShotError: 55,
|
||||||
IOSCaptureLogError: 111,
|
IOSCaptureLogError: 56,
|
||||||
|
|
||||||
// android related
|
// android related
|
||||||
AndroidDeviceConnectionError: 130,
|
AndroidDeviceConnectionError: 60,
|
||||||
AndroidDeviceDriverError: 131,
|
AndroidDeviceDriverError: 61,
|
||||||
AndroidScreenShotError: 150,
|
AndroidScreenShotError: 65,
|
||||||
AndroidCaptureLogError: 151,
|
AndroidCaptureLogError: 66,
|
||||||
|
|
||||||
|
// UI automation related
|
||||||
|
MobileUIDriverError: 70,
|
||||||
|
MobileUIValidationError: 75,
|
||||||
|
|
||||||
// OCR related
|
// OCR related
|
||||||
OCREnvMissedError: 160,
|
OCREnvMissedError: 80,
|
||||||
OCRRequestError: 161,
|
OCRRequestError: 81,
|
||||||
OCRServiceConnectionError: 162,
|
OCRServiceConnectionError: 82,
|
||||||
OCRResponseError: 163,
|
OCRResponseError: 83,
|
||||||
OCRTextNotFoundError: 164,
|
OCRTextNotFoundError: 84,
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetErrorCode(err error) int {
|
func GetErrorCode(err error) int {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v4.3.0-beta-10191154
|
v4.3.0-beta-10211516
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
__version__ = "v4.3.0-beta-10191154"
|
__version__ = "v4.3.0-beta-10211516"
|
||||||
__description__ = "One-stop solution for HTTP(S) testing."
|
__description__ = "One-stop solution for HTTP(S) testing."
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "httprunner"
|
name = "httprunner"
|
||||||
version = "v4.3.0-beta-10191154"
|
version = "v4.3.0-beta-10211516"
|
||||||
description = "One-stop solution for HTTP(S) testing."
|
description = "One-stop solution for HTTP(S) testing."
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|||||||
Reference in New Issue
Block a user