这个执行逻辑到底是怎么样的呢??我感觉很困惑啊

这是代码:

//检查无障碍服务是否启动,若没有则跳转到无障碍服务启动界面,并等待;当服务启动后脚本继续运行
auto.waitFor()
//启动qq
launchApp('QQ')
sleep(2000)

//同意
// id("dialogRightBtn").findOne().click()
// sleep(2000)

//登陆
id("btn_login").findOne().click()
// sleep(2000);


//密码
id("password").findOne().setText("ww1122334455")

log("1") 
// sleep(2000);

log("2") 

//账号
qq = id("em2").findOne()
// log(qq)
rect =qq.bounds()
log(rect.centerX(),rect.centerY())
click(rect.centerX(), rect.centerY())
setText(223445666)

log("3") 

// sleep(2000);
 
log("4") 

// sleep(2000);
id("login").findOne().click()

log("5") 

这是日志:

23:07:49.849/V: 开始运行[[remote]test.js]
23:07:52.320/D: 1
23:07:52.321/D: 2
23:07:52.330/D: 5
23:07:52.331/V: 
 ------------ 
 [ [remote]test.js ]运行结束,用时33.080000秒
23:07:52.367/D: 720 491
23:07:52.544/D: 3
23:07:52.545/D: 4

5怎么在那个位置打印,
运行结束了,为什么还有日志打印出来,
这个逻辑我搞不清楚了

.findOne(1000) 你在里面加上等待耗时然后再跑一轮看下

感谢提醒,加了这之后,感觉逻辑才是正常的

但是,id("login").findOne().click() 放在后面确提升找不到控件,必须放在
click(rect.centerX(), rect.centerY())
setText(223445666)

之前,才能正确获取到控件,请问这个有什么说法在里面吗??

click()之后,难道当前的ui层级就不是最外层了??后面的id(“login”)会在输入框那个层次往下查找控件??