我正在使用Marathon 2.0b4来自动化应用程序的测试。循环内的Jython异常处理
作为Marathon提供的脚本元素之一,wait_p
的缺点是它的默认超时时间为硬编码为为60秒。由于我的应用程序中的加载时间很长,我需要更长的超时时间。
[我认为修补马拉松赛,但没有要保持并行版本等,这样计算过,一个更好的解决方案实际上是在测试脚本级解决方法]
def wait_p_long(times, compID_name, ppty_name, ppty_value, compID_cell=None):
from marathon.playback import *
"""Wrapper around wait_p which takes exactly the same parameters as wait_p,
except that an extra first parameter is used to specify the number of times
wait_p is called"""
for i in range(1, times):
try:
wait_p(compID_name, ppty_name, ppty_value, compID_cell)
except:
if (i < times):
print "wait_p failed, trying again"
else:
raise
wait_p
是短期的"等待属性",它需要3个强制参数和一个可选参数(参数的名称相当明了),它所做的是等待指定组件的特定属性等于指定值。
上面的方法(Jython)打算做的是采取一个额外的参数,times
,它指定了尝试次数wait_p
,抑制异常直到最后一次尝试。
但是,这种方法不适合我,恐怕在那里可能会出现一些语法或逻辑错误。来自python/jython大师的任何评论?
谢谢!
现在我觉得这样的n00b!只是为了澄清你的建议:1)将'range(1,times)'改为'range(times)'并且2)将if(i
bguiz
2009-11-12 01:54:04