silverlight 白色自动化的气泡未处理异常

发布于 2024-08-20 03:20:04 字数 117 浏览 10 评论 0原文

我正在使用白色自动化 API 来测试 silverlight 应用程序,但是当 silverlight 中发生未处理的异常时,我不知道如何将其报告回单元测试或检查白色 api 以查看是否存在异常。有人有办法做到这一点吗?

I am using the white automation API to test a silverlight app, but when an unhandled exception occurs in silverlight I don't know of a way to report this back to the unit test or check in the white api to see if there was an exception. Anyone got a way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

も让我眼熟你 2024-08-27 03:20:04

我对白色测试框架不熟悉,但您可能可以在测试中执行以下操作:

[Test]
public void MyTest()
{
    bool unhandledExceptionFired = false;
    Application.Current.UnhandledException += (s,e) => unhandledExceptionFired = true;

    //test code....


    Assert.IsFalse(unhandledExceptionFired);
}

就像我说的,我没有使用提到的特定测试框架,但类似的东西应该可以工作。或者您是否遇到了一些阻止其工作的问题?

I am not familiar with the white test framework, but you can probably do something like the following in your test:

[Test]
public void MyTest()
{
    bool unhandledExceptionFired = false;
    Application.Current.UnhandledException += (s,e) => unhandledExceptionFired = true;

    //test code....


    Assert.IsFalse(unhandledExceptionFired);
}

Like I said, I have not used the particular test framework mentioned, but something like this should work. Or are you running into some problem that prevents this from working?

真心难拥有 2024-08-27 03:20:04

IE“页面错误”警告是一个 GUI 元素,因此您应该能够通过白色 api 进行检查。找到 IE 状态栏,查询状态消息,如果消息 == '页面错误',则在测试中记录错误。下面的示例代码用于检查状态栏上的文本。

app = Application.Attach(Process.GetProcessesByName('iexplore')[0])
win = app.GetWindows()[0]
statusBar = win.Get(SearchCriteria.ByAutomationId('StatusBar'))
for item in statusBar.Items:
    print item.Id, String.Format("'{0}'", item.Text)

输出

StatusBar.Pane0 'Done'
StatusBar.Pane1 '' 
StatusBar.Pane2 ''
StatusBar.Pane3 '' 
StatusBar.Pane4 ''
StatusBar.Pane5 '' 
StatusBar.Pane6 ''
StatusBar.Pane7 'Internet'

The IE 'error on page' warning is a GUI element, so you should be able to check for it via the white api. Locate the IE status bar, query it for the status message, and if the message == 'error on page', then log an error in your test. Sample code below for inspecting the text on the status bar.

app = Application.Attach(Process.GetProcessesByName('iexplore')[0])
win = app.GetWindows()[0]
statusBar = win.Get(SearchCriteria.ByAutomationId('StatusBar'))
for item in statusBar.Items:
    print item.Id, String.Format("'{0}'", item.Text)

output

StatusBar.Pane0 'Done'
StatusBar.Pane1 '' 
StatusBar.Pane2 ''
StatusBar.Pane3 '' 
StatusBar.Pane4 ''
StatusBar.Pane5 '' 
StatusBar.Pane6 ''
StatusBar.Pane7 'Internet'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文