Я просто пишу тест, который должен загружать PDF -файлы через WebApp (да, я знаю, я не должен делать это на селене, но вы знаете, заказы.) < /p>
Что мне нужно? Итак, я должен обрабатывать с помощью системного модального окна.
Все работает отлично, поэтому тест запускается на удаленном хосте, и когда я нажимаю, чтобы загрузить файл, я обрабатываю системное модальное окно (я использовал пакет Robotil, это расширенный класс роботов, который позволяет нам использовать класс роботов на удаленном хосте), поэтому я использую класс Robotil, чтобы типировать путь к файлу и имя файла в системном модале, а затем нажимать «Enter», чтобы подтвердить и сохранить файл. Это все, что мне нужно, и это работает, так где же проблема? Здесь: кто -то должен быть зарегистрирован на удаленном хосте, если я вошел через RDP и смотрит на экран (и делает мои вещи на моем хосте), то все отлично, но для случая, когда никто не регистрируется, похоже, что во время тестов WebBrowswer не сфокусировано, поэтому каждый раз, когда класс роботиля предпринимает какое -то действие. Класс: < /p>
@Test
public void compareDeposits() throws Exception {
HomePage homePage = new HomePage(driver);
PageFactory.initElements(driver, homePage);
PrintDepositsPage printDepositsPage = (PrintDepositsPage) homePage.openViaUrl(Data.baseUrl).openViewViaTopMenu(
ETopMenuItem.PrintDeposits);
((PrintDepositsPage) printDepositsPage).goToPrintedDepositsTab();
printDepositsPage.getPrintedDepositsDateRangeFromInput().click();
printDepositsPage.getPrintedDepositsDateRangeFromInput().clear();
printDepositsPage.getPrintedDepositsGoButton().click();
printDepositsPage.getFirstRecordOnPrintedDepositsTab().click();
handler.getRobot().mouseClick(371, 274, InputEvent.BUTTON1_MASK);// get focus
printDepositsPage.getPrintButtonEnabled().click();
handler.downloadFile("DepositTest");
< /code>
Объявление объекта обработчика: < /p>
class SystemModalWindowHandler {
private RemoteWebDriver driver;
private Date date = new Date();
private DateFormat dateFormat = new SimpleDateFormat("yyy/mm/dd");
private String extendedTestName = dateFormat.format(date).replace("/", ".") + ".pdf";
private Robotil robotil = new Robotil("xxxxx", 6667);
public Robotil getRobot(){
return robotil;
}
public void downloadFile(String testFileName) throws AWTException, InterruptedException {
boolean continueBool = true;
while (continueBool) {
String pathToTestFile = new String("C:\\DiffPdfData\\" + testFileName + "\\"
+ extendedTestName);
Thread.sleep(3000);
for (int i = 0; i < pathToTestFile.length(); i++) {
System.out.println(KeyStroke.getKeyStroke(pathToTestFile.charAt(i)) + " = "
+ (int) pathToTestFile.charAt(i));
if ((int) pathToTestFile.charAt(i) == 58) {
robotil.pressKey(KeyEvent.VK_SHIFT);
robotil.pressAndReleaseKey(KeyEvent.VK_SEMICOLON);
robotil.releaseKey(KeyEvent.VK_SHIFT);
}
else {
robotil.pressAndReleaseKey(KeyEvent.getExtendedKeyCodeForChar((int) pathToTestFile.charAt(i)));
}
}
robotil.pressAndReleaseKey(KeyEvent.VK_ENTER);
continueBool = false;
}
< /code>
Есть ли способ сосредоточиться на веб -браузере, когда никто не вошел в систему?. < /p>
Подробнее здесь: https://stackoverflow.com/questions/303 ... emote-host
Класс роботов Selenium 2.0 на удаленном хосте ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Linux Установка Python SDK для роботов Pepper, но нет модуля с именем naoqi
Anonymous » » в форуме Linux - 0 Ответы
- 86 Просмотры
-
Последнее сообщение Anonymous
-