所以我继承了一些压扁的代码,除了我可以在网上搜索的内容外,根本没有对该程序的指导,所以这可能是一个简单的问题......
我有一个函数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))
答案 0 :(得分:1)
尝试使用*menu_path
的第一个参数作为对象(如:menu_bar
),然后将其余的args作为字符串。这对我有用。
答案 1 :(得分:0)
activateMenuItem
似乎期望menuPath
是一个列表,但unpacks the arguments。
尝试更改
def activateMenuItem(*menuPath):
到
def activateMenuItem(menuPath):