Squish ActivateMenuItem函数

2024-09-28 05:25:18 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我继承了一些squish的代码,除了可以在网上搜到的东西之外,我对这个程序没有任何指导,所以这可能是一个简单的问题。。。在

我有一个函数,delete\u 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))

Tags: 函数namedeftypeitemdeletefixtureconfirm
2条回答

尝试使用*menu_path的第一个参数作为对象(如:menu_bar),然后将其余参数用作字符串。这对我有用。在

activateMenuItem似乎期望menuPath是一个列表,但它是unpacks the arguments。在

试着换衣服

def activateMenuItem(*menuPath):

^{pr2}$

相关问题 更多 >

    热门问题