Appium duration value must be greater than or equal to 0.5 or less than 6 错误原因及解决方案

张恩坤 · 2015年03月24日 · 最后由 思寒_seveniruby 回复于 2015年03月25日 · 1690 次阅读

Mac 下使用 Appium 对 iOS 进行自动化测试,在用 Inspector 进行元素的识别过程中,使用了 record 模式,得到的代码复制到脚本中执行报错 “duration value must be greater than or equal to 0.5 or less than 6”

经过查看 Appium server 的 log,发现是由于 Inspector 工具 record 模式下的 ruby 代码,时间单位和 ruby_client 不一致导致的。比如 record 模式下 ruby 是

Appium::TouchAction.new :x => 317, :y => 631, :fingers => 1, :tapCount => 1, :duration => 0.5

可一运行脚本,就会报提示 /response.rb:52:in `assert_ok': duration value must be greater than or equal to 0.5 or less than 60 (Selenium::WebDriver::Error::JavascriptError)

由于 record 模式下,时间单位是秒,可 ruby_client 里,时间单位是毫秒,问题找到了,剩下只需要把 ruby_client 里面的值对应扩大 1000 倍。

Appium::TouchAction.new :x => 317, :y => 631, :fingers => 1, :tapCount => 1, :duration => 500

改后,脚本顺利执行,没有报错。

共收到 4 条回复 时间 点赞

能把标题改改,改成类似"xx 错误原因及解决方案"吗?
看到这标题我还以为是提问帖。。。

用的什么 record 工具?

#2 楼 @seveniruby

Inspector 可以 record

#3 楼 @mildshark 原来你用的 inspector, 那个不太好用. 还是需要有人专门做跟好的.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册