From f6eb9451e0f1eb9fa3e513c231388936673c9f69 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Mon, 5 Jun 2023 20:53:38 +0800 Subject: [PATCH] fix: catch run error code for runner --- hrp/pkg/uixt/ios_driver.go | 17 +++++++++++++++-- hrp/runner.go | 19 ++++++++++--------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/hrp/pkg/uixt/ios_driver.go b/hrp/pkg/uixt/ios_driver.go index e83331ae..0b36a291 100644 --- a/hrp/pkg/uixt/ios_driver.go +++ b/hrp/pkg/uixt/ios_driver.go @@ -162,7 +162,8 @@ func (wd *wdaDriver) Screen() (screen Screen, err error) { } func (wd *wdaDriver) GetTimestamp() (timestamp int64, err error) { - return 0, errDriverNotImplemented + return 0, errors.Wrap(errDriverNotImplemented, + "GetTimestamp not implemented for ios") } func (wd *wdaDriver) Scale() (float64, error) { @@ -378,7 +379,19 @@ func (wd *wdaDriver) AssertAppForeground(packageName string) error { } func (wd *wdaDriver) GetForegroundApp() (app AppInfo, err error) { - return AppInfo{}, nil + // appInfo, err := wd.ActiveAppInfo() + // if err != nil { + // return AppInfo{}, err + // } + + // app = AppInfo{ + // AppBaseInfo: AppBaseInfo{ + // PackageName: appInfo.BundleId, + // Activity: "", + // }, + // } + return AppInfo{}, errors.Wrap(errDriverNotImplemented, + "GetForegroundApp not implemented for ios") } func (wd *wdaDriver) Tap(x, y int, options ...ActionOption) error { diff --git a/hrp/runner.go b/hrp/runner.go index dd504f64..98569ec8 100644 --- a/hrp/runner.go +++ b/hrp/runner.go @@ -226,6 +226,7 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) { }) }() + var runErr error // run testcase one by one for _, testcase := range testCases { // each testcase has its own case runner @@ -249,20 +250,20 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) { err1 := sessionRunner.Start(it.Next()) if err1 != nil { log.Error().Err(err1).Msg("[Run] run testcase failed") - err = err1 + runErr = err1 } caseSummary, err2 := sessionRunner.GetSummary() s.appendCaseSummary(caseSummary) if err2 != nil { log.Error().Err(err2).Msg("[Run] get summary failed") if err1 != nil { - err = errors.Wrap(err1, err2.Error()) + runErr = errors.Wrap(err1, err2.Error()) } else { - err = err2 + runErr = err2 } } - if err != nil && r.failfast { + if runErr != nil && r.failfast { break } } @@ -271,19 +272,19 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) { // save summary if r.saveTests { - if e := s.genSummary(); e != nil { - return e + if err := s.genSummary(); err != nil { + return err } } // generate HTML report if r.genHTMLReport { - if e := s.genHTMLReport(); e != nil { - return e + if err := s.genHTMLReport(); err != nil { + return err } } - return err + return runErr } // NewCaseRunner creates a new case runner for testcase.