mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-05 07:26:55 +08:00
fix: catch run error code for runner
This commit is contained in:
@@ -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
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user