Merge pull request #1502 from httprunner/bugfix

fix: failed to record the android ui step type in the step result
This commit is contained in:
debugtalk
2022-10-23 17:37:35 +08:00
committed by GitHub
3 changed files with 20 additions and 17 deletions

View File

@@ -135,7 +135,7 @@ var errorsMap = map[error]int{
}
func IsErrorPredefined(err error) bool {
_, ok := errorsMap[err]
_, ok := errorsMap[errors.Cause(err)]
return ok
}

View File

@@ -170,7 +170,7 @@ func (s *veDEMOCRService) FindText(text string, imageBuf []byte, options ...Data
Y: int(ocrResult.Points[2].Y),
},
}
if rect.Min.X > data.Scope[0] && rect.Max.X < data.Scope[2] && rect.Min.Y > data.Scope[1] && rect.Max.Y < data.Scope[3] {
if rect.Min.X >= data.Scope[0] && rect.Max.X <= data.Scope[2] && rect.Min.Y >= data.Scope[1] && rect.Max.Y <= data.Scope[3] {
ocrTexts = append(ocrTexts, ocrResult.Text)
// not contains text

View File

@@ -356,6 +356,9 @@ func (s *StepMobile) Name() string {
}
func (s *StepMobile) Type() StepType {
if s.step.Android != nil {
return stepTypeAndroid
}
return stepTypeIOS
}
@@ -548,21 +551,6 @@ func (r *HRPRunner) initUIClient(uuid string, osType string) (client *uixt.Drive
}
func runStepMobileUI(s *SessionRunner, step *TStep) (stepResult *StepResult, err error) {
stepResult = &StepResult{
Name: step.Name,
StepType: stepTypeIOS,
Success: false,
ContentSize: 0,
}
screenshots := make([]string, 0)
// merge step variables with session variables
stepVariables, err := s.ParseStepVariables(step.Variables)
if err != nil {
err = errors.Wrap(err, "parse step variables failed")
return
}
var osType string
var mobileStep *MobileStep
if step.IOS != nil {
@@ -575,6 +563,21 @@ func runStepMobileUI(s *SessionRunner, step *TStep) (stepResult *StepResult, err
mobileStep = step.Android
}
stepResult = &StepResult{
Name: step.Name,
StepType: StepType(osType),
Success: false,
ContentSize: 0,
}
screenshots := make([]string, 0)
// merge step variables with session variables
stepVariables, err := s.ParseStepVariables(step.Variables)
if err != nil {
err = errors.Wrap(err, "parse step variables failed")
return
}
// init wda/uia driver
uiDriver, err := s.caseRunner.hrpRunner.initUIClient(mobileStep.Serial, osType)
if err != nil {