Проверка подлинности Windows с AutoIt не работает на Chrome после обновления браузера - PullRequest
0 голосов
/ 14 декабря 2018

Я написал несколько тестов веб-сайта Selenium, однако это мой первый сайт, на котором установлена ​​аутентификация Windows.

Я пробовал использовать браузер Chrome, Firefox и IE.

С помощью Firefox и IE я могу успешно войти на сайт, и я вижу, что AutoIt печатает, и я вижу, что браузер успешно загружает правильную страницу после входа в систему, однако драйвер никогда не подключается к этому браузеру.

С Chrome я никогда не могу найти окно для соединения с AutoIt.

Используя Java.См. Комментарии встроенного кода для более подробной информации об ошибках

@And("^User \"(.*?)\" authentication popup window by entering username \"(.*?)\" and password \"(.*?)\"$")
    public void handleBrowserAuthenticationPopup(String operation, String user, String password) throws CustomException
    {                   
        String jacobDllVersionToUse;    


        user = pageHelper.fetchTextValue(user);
        password = pageHelper.fetchTextValue(password);

        if (pageHelper.jvmBitVersion().contains("32")) {

            jacobDllVersionToUse = "jacob-1.19-x86.dll";

        } else {
                jacobDllVersionToUse = "jacob-1.19-x64.dll";
        }

        File file = new File("lib", jacobDllVersionToUse);
        System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());       
        AutoItX x = new AutoItX();
        String browser = Tools.readDbConfig("browser");
        if(browser.equalsIgnoreCase("firefox") || browser.equalsIgnoreCase("mozilla firefox"))
        {           
            x.winWait("Authentication Required", "", 10);
            x.winActive("Authentication Required","");
        }
        else if(browser.equalsIgnoreCase("chrome") || browser.equalsIgnoreCase("google chrome") || browser.equalsIgnoreCase("MacChrome"))
        {           
            x.winWait("", "http://", 10);
            x.winActive("","http://");
        }
        else if(browser.equalsIgnoreCase("ie") || browser.equalsIgnoreCase("internet explorer"))
        {
            x.winWait("Windows Security", "", 10);
            x.winActive("Windows Security","");
        }

        x.send(user);
        x.send("{TAB}",false);
        x.send(password);
        x.send("{TAB}",false);

        //comparing if user want to accept or cancel popup window 
        if(!operation.equalsIgnoreCase("ACCEPT"))
        {
            //pressing extra tab if user want to cancel the window
            x.send("{TAB}",false);          
        }

        x.send("{ENTER}",false);                
   }

Знаете кого-нибудь, кто может ответить?заранее спасибо ..

...