所以我继承了一些squish的代码,除了我可以在网上找到的东西之外,我对这个程序没有任何指导,所以这可能是一个简单的问题……
我有一个函数delete_fixture,如下所示,它引用了后面显示的activateMenuItem函数...发生的情况是,编辑菜单被点击,但它似乎没有单击其他任何东西,也没有弹出关于删除的弹出窗口,这就是测试的目的。我只是想知道是否有人能看到这里面有什么明显的错误,或者我能不能得到一些指导,提前谢谢。
def delete_fixture(name, confirm=True):
click_data_tab("Fixtures")
click_fixture(name)
activateMenuItem("Edit", "Delete")
if confirm:
mouseClick(waitForObject("{text='OK' type='QPushButton' visible='1'}"))
else:
mouseClick(waitForObject("{text='Cancel' type='QPushButton' visible='1'}"))
def activateMenuItem(*menuPath):
snooze(1)
menu = "{type='QMenuBar' visible='true'}"
parent = "{name='MainWindow' type='MainWindow'}"
try:
waitForObject(parent)
for item in menuPath[:-1]:
activateItem(waitForObjectItem(menu, item))
menu = "{title='%s' type='QMenu' visible='1' window=%s}" % (item, parent)
parent = menu
activateItem(waitForObjectItem(menu, menuPath[-1]))
except LookupError as e:
test.log("Unable to find main window: %s" % HOST_NAME)
raise LookupError("%s -- %s" % (HOST_NAME,e))发布于 2015-04-03 05:50:14
尝试将*menu_path的第一个参数用作对象(如:menu_bar ),然后将其余参数用作字符串。这对我很管用。
发布于 2014-11-27 06:34:48
activateMenuItem似乎期望menuPath是一个列表,但它是unpacks the arguments。
试着改变
def activateMenuItem(*menuPath):至
def activateMenuItem(menuPath):https://stackoverflow.com/questions/24785027
复制相似问题