0

Я автоматизирую проверку на aws.amazon.com, чтобы проверить, были ли созданы ресурсы, созданные мной с помощью aws cli, или не используя selenium webdriver. Поскольку сайт выходит из моей сети компании, чтобы получить доступ к сайту, мне нужно предоставить пользователю/паролю домена в модальном всплывающем окне, который появляется перед удалением URL-адреса для сайта.Настройка профиля/возможностей для chrome и ie8 через selenium

Я не уверен, но решение этой проблемы - установить профиль/возможность в настройках браузера с помощью кода. перед ударом по URL. я добился того, что в светлячок следующим

FirefoxProfile profile = new FirefoxProfile(); 
       profile.addExtension(new File(Constants.FIREFOX_ADDON_PATH)); 
       profile.setPreference("extensions.enabledAddons", "FireXPath%40pierre.tholence.com:0.9.7.1,proxyauth%40lammersoft.com:0.1.2,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:37.0.1"); 
       profile.setPreference("extensions.proxyauth.authtoken","c3ViaGFtdDpub3YwNDIwMTQ="); 

Как сделать то же самое в хроме и ie8?

Я прошел через this, но не смог понять ничего. Также что делает .xpi и .crx файл имеет отношение ко всему этому?

Это всплывающее изображение для хрома

Это выскочит изображение для IE8

This is pop up image for IE8

+0

No. @LittlePanda, селен будет войти в систему для меня. –

+0

no мой полный код: hit home url -> login to aws console, давая пользователю/пройти -> щелкнуть по объекту -> nasvigate to othe page -> сделать снимок -> закрыть браузер. Все это происходит для всего браузера. –

+0

И где проблема? – LittlePanda

ответ

0

Всплывающее это всплывающее окно для Windows HTTP-аутентификации и не может с помощью Selenium Webdriver. Вам придется использовать либо Robot Class , либо AutoIT для его обработки.

1. Использование робота Класс:

Alert authenticationWindow = driver.switchTo().alert(); 
// Type the username/email. 
authenticationWindow.sendKeys("<username/email address>"); 
// Shift cursor focus to password input text field. 
Robot robot = new Robot(); 
robot.keyPress(KeyEvent.VK_TAB); 
// Type the password in password field. [ Selenium does not know at this point that the cursor focus is shifted, so calling Alert class instance sendKeys() will cause password to be typed in username field. So, we are copying the password first to windows clipboard and then pasting it directly into the password field using Robot class instance ] 
StringSelection stringSelection = new StringSelection("<user password>"); 
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection,null); robot.keyPress(KeyEvent.VK_CONTROL); 
robot.keyPress(KeyEvent.VK_V); 
robot.keyRelease(KeyEvent.VK_CONTROL); 

// Accept the authentication window. 
robot.keyPress(KeyEvent.VK_ENTER); 

2. Использование AutoIT:

Эта ссылка обеспечивает хорошую информацию о том, как использовать AutoIT Alongwith Селен: http://www.toolsqa.com/selenium-webdriver/autoit-selenium-webdriver/

Вот что вам нужно:

D ownload/установить AutoIT
Вы сможете создавать .au3 скрипты используя AutoITSciTe Редактор Составление сценария .au3 даст вам EXE-файл Затем вы можете вызвать .exe файл из Selenium сценария с помощью

Runtime.getRuntime().exec("D:\AutoIt\AutoItTest.exe"); 

Вы можете получить свойства окна с помощью AutoIt Window Info (x86) или (x64). Пример, строка заголовка/состояния окна.

AutoIT также имеет Au3 Recorder, чтобы вы могли записывать свои действия, связанные с удаленным рабочим столом.

Ниже приведен пример сценария, который автоматизирует проверку подлинности Http:

WinWaitActive("Web page title","","10") 
If WinExists("Web page title") Then 
Send("userid{TAB}") 
Send("password{Enter}") 
EndIf 

3. Использование AutoITx4Java:

Проверить эту библиотеку AutoITx4Java - https://code.google.com/p/autoitx4java/

  1. Скачать Jacob, AutoIT (см ссылка выше)
  2. Добавить jacob.jar и aut oitx4java.jar в путь к вашей библиотеке.
  3. Поместите файл jacob-1.15-M4-x64.dll прямо в Ваш путь по вашей библиотеке.

Пример кода

File file = new File("lib", "jacob-1.15-M4-x64.dll"); //path to the jacob dll 
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath()); 

AutoItX x = new AutoItX(); 
String notepad = "Untitled - Notepad"; 
String testString = "this is a test."; 
x.run("notepad.exe"); 
x.winActivate(notepad); 
x.winWaitActive(notepad); 
x.send(testString); 
Assert.assertTrue(x.winExists(notepad, testString)); 
x.winClose(notepad, testString); 
x.winWaitActive("Notepad"); 
x.send("{ALT}n"); 
Assert.assertFalse(x.winExists(notepad, testString)); 
Смежные вопросы