LeanFT C # 'Вы уверены, что хотите покинуть эту страницу?'диалог - PullRequest
0 голосов
/ 19 декабря 2018

Проблема: в IE11 отображается диалоговое предупреждение «Вы уверены, что хотите покинуть эту страницу?»с двумя вариантами: «Покинуть эту страницу» или «Оставаться на этой странице».

В объекте-шпионе захватывается вот что:

browser.Describe<IDialog>(new DialogDescription
            {
                IsOwnedWindow = true,
                IsChildWindow = false,
                Text = @"Windows Internet Explorer",
                NativeClass = @"#32770"
            }).Describe<IButton>(new ButtonDescription
            {
                Text = @"&Leave this page",
                NativeClass = @"Button"
            });

Как я могу нажать на кнопку «Покинуть это»?опция '?

1 Ответ

0 голосов
/ 16 января 2019

Сохраните это описание в переменной, например:

var theButton = Desktop.Describe<IWindow>(new WindowDescription
            {
                IsOwnedWindow = true,
                IsChildWindow = false,
                WindowTitleRegExp = @"Google Chrome"
            }).Describe<IDialog>(new DialogDescription
            {
                IsOwnedWindow = true,
                IsChildWindow = false,
                Text = @"Windows Internet Explorer",
                NativeClass = @"#32770"
            }).Describe<HP.LFT.SDK.StdWin.IButton>(new HP.LFT.SDK.StdWin.ButtonDescription
            {
                Text = @"&Leave this page",
                NativeClass = @"Button"
            });

, а затем просто выполните щелчок по нему, например, так:

theButton.Click();

Примечания:

  • родитель, в данном случае, это приложение Desktop, а не браузер
  • , поскольку мы используем нативное приложение с использованием технологии StdWin, нам нужно обратиться к правильному пространству имен:
    using HP.LFT.SDK.StdWin;
  • , поскольку мы сейчас используем два пространства имен, каждое из которых имеет IButton s, нам нужно использовать полное имя, где регистр
...