【问题标题】:White Automation framework throws an exception when using "White.Core.Desktop" ClassWhite Automation 框架在使用“White.Core.Desktop”类时抛出异常
【发布时间】:2014-03-18 11:52:26
【问题描述】:

我正在使用 White Framework 进行自动化。当我尝试获取桌面实例时出现异常“'White.Core.Desktop' 的类型初始化程序引发了异常。”

我的代码如下:

var window = White.Core.Desktop.Instance.Windows().Find(obj => obj.Title.Contains("TestAppHome"));

有什么方法可以在不使用 White.Core.Desktop 类的情况下毫无例外地捕获窗口?

任何帮助将不胜感激!

【问题讨论】:

    标签: ui-automation gui-testing ui-testing white-framework gui-test-framework


    【解决方案1】:

    试试这个:

    List<White.Core.UIItems.WindowItems.Window> windows = WindowFactory.Desktop.DesktopWindows();
    var window = windows.Find(w => w.Title.Contains("TestAppHome"));
    

    【讨论】:

    • 即使这两种方法在 Visual Studio 中都可以正常工作,当我尝试在 Visual Studio 之外运行白色测试时,两种方法都出现异常。异常是 The type initializer for 'TestStack.White.Desktop' threw an exception.System.TypeInitializationException Operation timed out. (Exception from HRESULT: 0x80131505) System.Runtime.InteropServices.COMException 你知道任何解决方案吗这个问题?由于这个问题,我无法在 Visual Studio 之外运行 White 测试。
    • 好的,谢谢。此链接描述了我的实际问题:white.codeplex.com/workitem/7475
    • 太棒了,Roshan_Rokey!
    • 兄弟,White框架是否需要活动窗口来运行测试?因为编码的 UI 需要活动窗口,所以我也怀疑白色。
    【解决方案2】:

    试试这个。您可以直接启动目标应用程序并获取它的 UI 元素,而不是在 Desktop 中搜索所有 UI 元素。我认为这是非常有效的。

    static void Main(string[] args) {

            Application app = Application.Launch(@"C:\Testing\Sample.txt");  //Target application 
            var appWindow = app.GetWindow("Sample - Notepad");
            appWindow.RightClick();
            PopUpMenu popupMenu = appWindow.Popup;
            var saveOptionMenuItem = popupMenu.ItemBy(SearchCriteria.ByText("Open IME"));
            saveOptionMenuItem.Click();
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-20
      • 2013-05-24
      • 1970-01-01
      • 2014-10-16
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多