Мы пытаемся аутентифицировать наш сайт https://staging.rockettes.com. Он запрашивает имя пользователя и пароль, которые мы должны предоставить через наш код selenium java. Вы можете помочь? Спасибо, RachitHandle Login/Password Popup Selenium JAVA
ответ
Вам нужно будет создать testURL перед вызовом команды driver.get.
Так при условии, чтоимя пользователя = админ и пас = проходят
String testURL = "https://" + "admin" + ":" + "pass" + "@" + "staging.rockettes.com/";
Теперь вы можете смело назвать свой driver.get следующим образом:
driver.get(testURL);
Успехов !
Обновленный ответ после комментария Op в:
Хорошо, поэтому для того, чтобы принять предупреждение, вы можете использовать:
WebDriverWait waitTime = new WebDriverWait(driver, 5);
Boolean isAlertPresent = wait.until(ExpectedConditions.alertIsPresent());
if(isAlertPresent==true){
Alert alert = driver.switchTo().alert();
alertText = alert.getText();
alert.accept();
}
else{
System.out.println("No alert was present!")
}
Спасибо, я сделал это, но он выводит меня на другой экран с некоторым сообщением и просит меня нажать «Да/нет». Мой запрос был встроен в тот факт, что - могу ли я найти элементы всплывающего окна и отправить логин/пароль по ключам, а затем нажать кнопку «Да/Нет» и т. Д. –
Хорошо, Рачите, я обновил свой ответ, посмотрю, помогает ли это upvote, если он делает или комментирует здесь, если это не так. Удачи в решении этого! –
На самом деле это также время ожидания. Я пробовал до сих пор: 1. Механизм оповещений 2. Прохождение входа/прохождения по самому URL 3: класс роботов. Ситуация здесь невелика: нам нужно открыть этот URL-адрес в SauceConnect (Saucelabs.com) для запуска нашего тестового скрипта. Однако SauceConnect образует туннель, поэтому на самом деле он не использует ни один из выше трех механизмов. –
Я думаю, что, всплывающий на удар URL-адрес ur не является оповещением на веб-сайте, а является предупреждением в окне, поэтому вы можете обрабатывать его с помощью AutoIT, или вы можете сделать это, используя класс Robot следующим образом (хотя и не рекомендуется):
String userName = "ADMIN";
StringSelection stringSelection = new StringSelection(userName);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, stringSelection);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
String password = "PASS";
StringSelection stringSelection1 = new StringSelection(password);
Clipboard clipboard1 = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard1.setContents(stringSelection1, stringSelection1);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
жаль, что он не работает, поскольку мы используем туннель и выполняем сценарий на удаленной системе, поэтому он бросает исключение, поскольку буфер обмена этой системы может быть недоступен. –
попробуйте использовать AutoIT, как последнее средство. – kushal
если ваши погрузо всплывающие окна, используйте следующую команду перед передачей имени пользователя и пароля
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
Вы можете использоваться любыми способами ниже:
1. В проходе с URL:
String url= "https://" + "username" + ":" + "password" + "@" + "staging.rockettes.com";
driver.get(url);
2. Предупреждение
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword("username", "password"));
3. AutoIT
AutoIt скрипт для обработки окна аутентификации:
WinWaitActive("Windows Security")
Send("username")
Send("{TAB}")
Send("password")
Send("{ENTER}")
Сохранить этот файл как «auth.au3" правой кнопкой мыши на файле и выбрать«Compile Script (x86) ", и он сделает« auth.exe » Теперь напишите образец кода Java, чтобы использовать его:
driver.get("https://staging.rockettes.com/");
Runtime.getRuntime().exec("E:\\AutoIT\\auth.exe");
4. Sikuli
Screen screen = new Screen();
driver = new FirefoxDriver();
driver.get("https://staging.rockettes.com/");
screen.type("C:\\username.png"),"username");
screen.type("C:\\password.png","password");
screen.click("C:\\okButton.png");
Я думаю, вам нужно задать конкретные вопросы. – alayor
Пожалуйста, рассмотрите вопрос о том, что вы опубликовали в этом вопросе.Как и в настоящее время, его форматирование и масштабы затрудняют нам помощь; здесь [большой ресурс] (http://stackoverflow.com/help/mcve), чтобы вы начали с этого –
Возможный дубликат [Как обрабатывать всплывающее окно аутентификации с помощью Selenium WebDriver с помощью Java] (http://stackoverflow.com/q/24304752/1072229) –