исключение необработанного пузыря из белого света от silverlight - PullRequest
0 голосов
/ 03 февраля 2010

Я использую белый API автоматизации для тестирования приложения silverlight, но когда в silverlight происходит необработанное исключение, я не знаю, как сообщить об этом в модульном тесте или проверить в белом API, чтобы увидеть, есть ли был исключением. У кого-нибудь есть способ сделать это?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2010

Предупреждение IE об ошибке на странице является элементом графического интерфейса, поэтому вы должны иметь возможность проверить его через белый API. Найдите строку состояния IE, запросите ее для сообщения о состоянии, и если сообщение == 'error on page', зарегистрируйте ошибку в своем тесте. Пример кода ниже для проверки текста в строке состояния.

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'
0 голосов
/ 04 февраля 2010

Я не знаком с фреймворком белого теста, но вы, вероятно, можете сделать что-то вроде следующего в вашем тесте:

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

    //test code....


    Assert.IsFalse(unhandledExceptionFired);
}

Как я уже сказал, я не использовал конкретную упомянутую платформу тестирования, но что-то вроде этого должно работать. Или вы сталкиваетесь с какой-то проблемой, которая мешает этому работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...