change: add logs for loop index

This commit is contained in:
debugtalk
2022-12-13 22:34:11 +08:00
parent dcc2f651d4
commit 11abdf07af
3 changed files with 27 additions and 39 deletions

View File

@@ -35,7 +35,7 @@ var (
type MobileStep struct {
Serial string `json:"serial,omitempty" yaml:"serial,omitempty"`
Times int `json:"times,omitempty" yaml:"times,omitempty"`
Loops int `json:"loops,omitempty" yaml:"loops,omitempty"`
uixt.MobileAction `yaml:",inline"`
Actions []uixt.MobileAction `json:"actions,omitempty" yaml:"actions,omitempty"`
}
@@ -303,9 +303,9 @@ func (s *StepMobile) Input(text string, options ...uixt.ActionOption) *StepMobil
return &StepMobile{step: s.step}
}
// LoopTimes specify running times for the current step
func (s *StepMobile) LoopTimes(n int) *StepMobile {
s.mobileStep().Times = n
// Loop specify running times for the current step
func (s *StepMobile) Loop(times int) *StepMobile {
s.mobileStep().Loops = times
return &StepMobile{step: s.step}
}
@@ -608,19 +608,22 @@ func runStepMobileUI(s *SessionRunner, step *TStep) (stepResult *StepResult, err
actions = mobileStep.Actions
}
// run times
times := mobileStep.Times
if times < 0 {
log.Warn().Int("times", times).Msg("times should be positive, set to 1")
times = 1
} else if times == 0 {
times = 1
} else if times > 1 {
log.Info().Int("times", times).Msg("run actions with specified times")
// run times of actions
loopTimes := mobileStep.Loops
if loopTimes < 0 {
log.Warn().Int("loopTimes", loopTimes).Msg("times should be positive, set to 1")
loopTimes = 1
} else if loopTimes == 0 {
loopTimes = 1
} else if loopTimes > 1 {
log.Info().Int("loopTimes", loopTimes).Msg("run actions with specified loop times")
}
// run actions with specified times
for i := 0; i < times; i++ {
for i := 0; i < loopTimes; i++ {
if i > 0 {
log.Info().Int("index", i+1).Msg("start running actions in loop")
}
for _, action := range actions {
if action.Params, err = s.caseRunner.parser.Parse(action.Params, stepVariables); err != nil {
if !code.IsErrorPredefined(err) {

View File

@@ -86,7 +86,7 @@ func TestIOSWeixinLive(t *testing.T) {
AssertLabelExists("直播"),
NewStep("向上滑动 3 次,截图保存").
IOS().
LoopTimes(3). // 整体循环 3 次
Loop(3). // 整体循环 3 次
SwipeUp().SwipeUp().ScreenShot(), // 上划 2 次,截图保存
},
}
@@ -155,7 +155,7 @@ func TestIOSDouyinAction(t *testing.T) {
AssertLabelExists("消息", "消息 tab 不存在"),
NewStep("swipe up and down").
IOS().
LoopTimes(3).
Loop(3).
SwipeUp().SwipeDown(),
},
}