Visual Studio 2012编码的UI测试 - 无法对隐藏的控件执行“单击”

时间:2013-06-06 07:34:09

标签: visual-studio-2012 coded-ui-tests

我正在尝试为使用C ++开发的应用程序创建编码UI测试,但是我遇到了检测menuitem的问题而且我遇到以下错误:

enter image description here enter image description here

当我运行DrawHighlight时,它没有检测到任何东西,我一直在互联网上寻找各种答案,但没有奏效,我试图将“AlwaysSearch”也放入,但没有成功。

我添加了菜单截图,我正在尝试访问“Journal - Ventes”,

这是来自UI.Map.Designer的编码:

    public void RecordedMethod1()
    {
        #region Variable Declarations
        WinMenuItem uIVentesMenuItem = this.UIIntelliXiCom2012GoldWindow.UIItemWindow.UIBarredesmenusClient.UIVentesMenuItem;
        WinMenu uIVentesMenu = this.UIIntelliXiCom2012GoldWindow.UIItemWindow.UIBarredesmenusClient.UIVentesMenu;
        WinMenuItem uIJournalventesMenuItem = this.UIIntelliXiCom2012GoldWindow.UIItemToolBar1.UIJournalventesMenuItem;
        #endregion

        // Click 'Ventes' menu item
        Mouse.Click(uIVentesMenuItem, new Point(20, 14));

        // Mouse hover 'Ventes' popup menu at (19, -8)
        Mouse.Hover(uIVentesMenu, new Point(19, -8));

        // Click 'Journal - ventes' menu item
        Mouse.Click(uIJournalventesMenuItem, new Point(45, 8));
    }

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

我有完全相同的问题。

它是BUG

Update 4 RC 4 for VS12为我解决了这个问题! (VS2012.4 RC.exe是你要找的)。

答案 1 :(得分:1)

即使你进行了设置(工具>选项>环境>选项卡和Windows>检查'工具Windows'下的复选框)部分,它也无法正常工作。在某些隐藏控件的情况下,甚至'Mouse.Hover()'也不起作用。当你尝试使用silverlight控件时会发生这种情况。这是一种BUG。

答案 2 :(得分:0)

我想知道您是否能够在将控件属性拖动到控件时访问它们。如果是,那么请使用完整的对象层次结构发布控件属性。

另外,我看到有一个鼠标悬停事件被重新录制 -

    // Mouse hover 'Ventes' popup menu at (19, -8)
    Mouse.Hover(uIVentesMenu, new Point(19, -8))

你可以告诉我在鼠标点击'Journal - ventes'之前做鼠标悬停是否很重要吗?

答案 3 :(得分:0)

当您无法点击隐藏控件时,因为它是一个菜单项,在visual studio 2012中转到工具菜单 - >选项 - >环境 - >选项卡和Windows - >在工具窗口选项卡中,选中“在鼠标悬停时显示自动隐藏的窗口”选项。 那么它将能够检测隐藏的控制。