【发布时间】:2009-11-12 01:21:11
【问题描述】:
我正在使用 Marathon 2.0b4 对应用程序进行自动化测试。
wait_p(Marathon 提供的脚本元素之一)的一个缺点是其默认超时时间硬编码为 60 秒。由于我的应用程序加载时间过长,我需要更大的超时时间。
[我考虑修补 Marathon,但不想维护并行版本等,因此认为更好的解决方案实际上是测试脚本级别的解决方法。]
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 大师的 cmets 吗?
谢谢!
【问题讨论】:
标签: python exception-handling jython automated-tests