fix: catch run error code for runner

This commit is contained in:
lilong.129
2023-06-05 20:53:38 +08:00
parent f6594c1609
commit f6eb9451e0
2 changed files with 25 additions and 11 deletions
+15 -2
View File
@@ -162,7 +162,8 @@ func (wd *wdaDriver) Screen() (screen Screen, err error) {
} }
func (wd *wdaDriver) GetTimestamp() (timestamp int64, 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) { 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) { 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 { func (wd *wdaDriver) Tap(x, y int, options ...ActionOption) error {
+10 -9
View File
@@ -226,6 +226,7 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) {
}) })
}() }()
var runErr error
// run testcase one by one // run testcase one by one
for _, testcase := range testCases { for _, testcase := range testCases {
// each testcase has its own case runner // each testcase has its own case runner
@@ -249,20 +250,20 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) {
err1 := sessionRunner.Start(it.Next()) err1 := sessionRunner.Start(it.Next())
if err1 != nil { if err1 != nil {
log.Error().Err(err1).Msg("[Run] run testcase failed") log.Error().Err(err1).Msg("[Run] run testcase failed")
err = err1 runErr = err1
} }
caseSummary, err2 := sessionRunner.GetSummary() caseSummary, err2 := sessionRunner.GetSummary()
s.appendCaseSummary(caseSummary) s.appendCaseSummary(caseSummary)
if err2 != nil { if err2 != nil {
log.Error().Err(err2).Msg("[Run] get summary failed") log.Error().Err(err2).Msg("[Run] get summary failed")
if err1 != nil { if err1 != nil {
err = errors.Wrap(err1, err2.Error()) runErr = errors.Wrap(err1, err2.Error())
} else { } else {
err = err2 runErr = err2
} }
} }
if err != nil && r.failfast { if runErr != nil && r.failfast {
break break
} }
} }
@@ -271,19 +272,19 @@ func (r *HRPRunner) Run(testcases ...ITestCase) (err error) {
// save summary // save summary
if r.saveTests { if r.saveTests {
if e := s.genSummary(); e != nil { if err := s.genSummary(); err != nil {
return e return err
} }
} }
// generate HTML report // generate HTML report
if r.genHTMLReport { if r.genHTMLReport {
if e := s.genHTMLReport(); e != nil { if err := s.genHTMLReport(); err != nil {
return e return err
} }
} }
return err return runErr
} }
// NewCaseRunner creates a new case runner for testcase. // NewCaseRunner creates a new case runner for testcase.