我正在更新使用Selenium webdriver進行瀏覽器測試的C#測試框架。在啓動每個測試用例時,我需要繞過Windows Secruity彈出窗口(IE11:v11.187.14393.0)才能進入我正在測試的開發網站。我以前使用AutoIt時使用了以下代碼。Windows 10 - IE 11 Windows Secruity Popup - AutoIT不返回任何控制信息。
AutoItX3 autoIt = new AutoItX3();
string windowTitle = "Windows Security";
// Wait 30 seconds max...
autoIt.WinWait(windowTitle, string.Empty, 30);
// Need to wait for input fields to load...
Thread.Sleep(2000);
autoIt.WinActivate(windowTitle);
autoIt.ControlSetText(windowTitle, string.Empty, "[CLASS:Edit; INSTANCE:1]", username);
autoIt.ControlSetText(windowTitle, string.Empty, "[CLASS:Edit; INSTANCE:2]", password);
autoIt.ControlClick(windowTitle, "OK", "[CLASS:Button; INSTANCE:2]");
autoIt.WinWaitClose(windowTitle, string.Empty, 10);
因爲我已經更新我的操作系統爲windows 10和彈出框已經改變(見下文)
See new security popup example
See old secruity popup example
AutoIt的檢查員不再返回任何控制信息對於sruity彈出窗口中的任何對象,所以我無法與它們交互。(請參見下面什麼,他檢查了用戶名輸入框返回)
窗口< < < < 標題:Windows安全 類:憑據對話框的XAML主機 位置:732,354 尺寸: 456,386 風格:0x96C80000 ExStyle:0x00200100 句柄:0x00000000015B1204
控制< < < < 類別:
實例:
ClassnameNN:
名稱:
高級(類):
ID: 文本:
位置:
尺寸:
ControlClick座標:
風格:
ExStyle:
手柄:鼠標< < < < 位置:816,548 光標ID:0 顏色:0xF0F0F0
的StatusBar < < < <
ToolsBar < < < <
可見文本< < < <
隱藏文本< < < <
我曾嘗試在活動窗口指向的AutoIt並直接發送密鑰,但此心不是工作要麼。 (見下面的代碼)。
string windowTitle = "Windows Security";
// Wait 30 seconds max...
autoIt.WinWait(windowTitle, string.Empty, 30);
// Need to wait for input fields to load...
Thread.Sleep(2000);
autoIt.WinActivate(windowTitle);
autoIt.Send(username);
autoIt.Send(Keys.Tab.ToString());
autoIt.Send(password);
autoIt.Send(Keys.Enter.ToString());
autoIt.WinWaitClose(windowTitle, string.Empty, 10);
有沒有人有任何想法我可以通過這個?
謝謝