给大家分享一个非常小但很容易让人忽视的Airtest问题,有天在写一个touch
脚本的时候,因为横竖坐标,是废了很大劲拿到的,并且是通过变量的方式传给 touch
接口,就类似这样:
x = int(pox_x)
y = int(pos_y)
touch(x,y)
看起来非常简单,结果运行起来就一直报错:
touch(x,y)
File "airtest\utils\logwraper.py", line 124, in wrapper
File "airtest\core\api.py", line 368, in touch
File "airtest\core\android\android.py", line 527, in touch
File "airtest\core\android\touch_methods\touch_proxy.py", line 130, in touch
File "airtest\core\android\android.py", line 933, in _touch_point_by_orientation
TypeError: 'int' object is not iterable
一直都看不出来这个touch
脚本有什么问题,后面突然灵光乍现,想起来 touch
接口的参数是一个坐标,这里传了错误的参数进去,只要改成:
x = int(pox_x)
y = int(pos_y)
touch((x,y))
即可正常运行。其实这个问题在新手群里也见过好几次了,但是当自己也不小心写成这样子的时候,还真的抓马了一会。
类似的问题还有写poco脚本时,把poco(text="登录").click()
写成了poco(text="登陆").click()
,然后运行一直报错找不到控件,好一会都想不明白为什么报错了,结果是小小的错别字问题。
今天小编的抓马经验就分享到这里,不知道大家还有什么抓马的写脚本经验,快来评论区分享给我们~