mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-11 18:11:21 +08:00
fix: ignore step popup
This commit is contained in:
1
step.go
1
step.go
@@ -37,6 +37,7 @@ type StepConfig struct {
|
||||
Validators []interface{} `json:"validate,omitempty" yaml:"validate,omitempty"`
|
||||
StepExport []string `json:"export,omitempty" yaml:"export,omitempty"`
|
||||
Loops int `json:"loops,omitempty" yaml:"loops,omitempty"`
|
||||
IgnorePopup bool `json:"ignore_popup,omitempty" yaml:"ignore_popup,omitempty"` // ignore popup for this step, keep for compatibility
|
||||
AutoPopupHandler bool `json:"auto_popup_handler,omitempty" yaml:"auto_popup_handler,omitempty"` // enable auto popup handler for this step
|
||||
}
|
||||
|
||||
|
||||
@@ -715,6 +715,7 @@ func runStepMobileUI(s *SessionRunner, step IStep) (stepResult *StepResult, err
|
||||
var stepVariables map[string]interface{}
|
||||
var stepValidators []interface{}
|
||||
var stepAutoPopupHandler bool
|
||||
var stepIgnorePopup bool
|
||||
|
||||
var mobileStep *MobileUI
|
||||
switch stepMobile := step.(type) {
|
||||
@@ -722,11 +723,13 @@ func runStepMobileUI(s *SessionRunner, step IStep) (stepResult *StepResult, err
|
||||
mobileStep = stepMobile.obj()
|
||||
stepVariables = stepMobile.Variables
|
||||
stepAutoPopupHandler = stepMobile.AutoPopupHandler
|
||||
stepIgnorePopup = stepMobile.IgnorePopup
|
||||
case *StepMobileUIValidation:
|
||||
mobileStep = stepMobile.obj()
|
||||
stepVariables = stepMobile.Variables
|
||||
stepValidators = stepMobile.Validators
|
||||
stepAutoPopupHandler = stepMobile.StepMobile.AutoPopupHandler
|
||||
stepIgnorePopup = stepMobile.StepMobile.IgnorePopup
|
||||
default:
|
||||
return stepResult, errors.New("invalid mobile UI step type")
|
||||
}
|
||||
@@ -797,7 +800,10 @@ func runStepMobileUI(s *SessionRunner, step IStep) (stepResult *StepResult, err
|
||||
// automatic handling of pop-up windows on each step finished
|
||||
// priority: testcase config > step config, default to disabled
|
||||
shouldHandlePopup := false
|
||||
if config != nil && config.AutoPopupHandler {
|
||||
if stepIgnorePopup {
|
||||
// step level config, keep for compatibility
|
||||
shouldHandlePopup = false
|
||||
} else if config != nil && config.AutoPopupHandler {
|
||||
// testcase level config has higher priority
|
||||
shouldHandlePopup = true
|
||||
} else if stepAutoPopupHandler {
|
||||
|
||||
Reference in New Issue
Block a user