Загрузка файла не работает, когда скрипт запускается во второй раз в Mac - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь загрузить файл, используя класс робота в Mac. Мой сценарий работает нормально, когда запускается один сценарий, но когда я запускаю несколько тестовых сценариев, только первый выполняется успешно, остальные не выполняются. Ниже дан мой код.

Я пытался работать с sendkeys класса Action, ни один из них не работал.

Файл класса

File file = new File("/Users/anvita.pandey/Desktop/file upload/KPSL/kpsl_n67_fatp_evt_site13.xlsx");
StringSelection stringSelection= new StringSelection(file.getAbsolutePath());

    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_META);
    robot.keyPress(KeyEvent.VK_TAB);
    robot.keyRelease(KeyEvent.VK_META);
    robot.keyRelease(KeyEvent.VK_TAB);
    robot.delay(500);
    //System.out.println("changing window hanlder ");

    //driver.switchTo().window(driver.getWindowHandle());
    //Open Goto window
            robot.keyPress(KeyEvent.VK_META);
            robot.keyPress(KeyEvent.VK_SHIFT);
            robot.keyPress(KeyEvent.VK_G);
            robot.keyRelease(KeyEvent.VK_META);
            robot.keyRelease(KeyEvent.VK_SHIFT);
            robot.keyRelease(KeyEvent.VK_G);
            //Paste the clipboard value
            robot.keyPress(KeyEvent.VK_META);
            robot.keyPress(KeyEvent.VK_V);
            robot.keyRelease(KeyEvent.VK_META);
            robot.keyRelease(KeyEvent.VK_V);

            //Press Enter key to close the Goto window and Upload window


            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
            robot.delay(500);
            robot.keyPress(KeyEvent.VK_ENTER);

            robot.keyRelease(KeyEvent.VK_ENTER);

Путь к файлу вставляется в любое окно, находящееся в фокусе. попытался привести фактическое окно в фокус, но ни одно не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...