From b723082be4769a8dc63f31c3d6c16d734d81428b Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Tue, 14 Feb 2023 00:06:19 +0800 Subject: [PATCH] fix: sleep random arguments adapt to int and float --- hrp/pkg/uixt/ext.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/hrp/pkg/uixt/ext.go b/hrp/pkg/uixt/ext.go index 3a75c156..ddc67bbe 100644 --- a/hrp/pkg/uixt/ext.go +++ b/hrp/pkg/uixt/ext.go @@ -610,8 +610,17 @@ func (dExt *DriverExt) DoAction(action MobileAction) error { return fmt.Errorf("invalid sleep params: %v(%T)", action.Params, action.Params) case CtlSleepRandom: if params, ok := action.Params.([]interface{}); ok && len(params) == 2 { - a := params[0].(float64) - b := params[1].(float64) + var a, b float64 + if v, ok := params[0].(float64); ok { + a = v + } else if v, ok := params[0].(int64); ok { + a = float64(v) + } + if v, ok := params[1].(float64); ok { + b = v + } else if v, ok := params[1].(int64); ok { + b = float64(v) + } n := a + rand.Float64()*(b-a) log.Info().Float64("duration", n).Msg("sleep random seconds") time.Sleep(time.Duration(n*1000) * time.Millisecond)