Не могу указать относительный путь к webdriver chrome, ie.

Доброго дня всем! Есть веб-сервер, на нем крутится веб-морда, написанная с использованием java. Эта веб-морда тестируется в разных браузерах(и вручную, и автотестами). Не могу понять, как прописать в автотестах относительные пути к вебдрайверам для ИЕ и Хрома.

Что именно надо проверять?

Если проверять web морду - самое то использовать selenium (к нему для упрощения можно использовать selenide)

С апплетами селениум не поможет. Мы в свое время использовали SikuliX для их автоматизации.

Главная проблема в том, что я не могу понять, как у webdriver(chrome, ie) - прописать относительные пути и переменные. Т.е., при создании экземпляра chromedriver - мне приходится прописывать полный путь к исполняемому файлу, что крайне негативно влияет на переносимость тестов с одного хоста на другой.

Как это связано с апплетами? Создавайте отдельный вопрос, коммьюнити поделится опытом.

Я проверяю апплет на нескольких браузерх - хром, ие, лисичка. Если я прописываю вебдрайвер хром и ие полными путями к исполняемым файлам, то все работает. Если пытаюсь прописать относительные пути - у меня либо тесты стартуют, но не проходят, либо не находятся вебдрайверы.

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

изменил заголовок

Теперь дело за малым - поправить тело первого сообщения. Может конечно вам покажется это не совсем очевидным, но проблема определения путей к драйверам абсолютно никак не связана ни с апплетами, ни с JRE/JDK. :wink:

Пропишите путь к драйверам в PATH

не помогает.

 @BeforeClass
    public static void createAndStartService() throws IOException {
        service = new ChromeDriverService.Builder()
                .usingDriverExecutable(new File("chromedriver.exe"))
                .usingAnyFreePort()
                .build();

        service.start();

    } 

не работает. Ему нужен абсолютный путь.

Ну технически, если у вас нет рестрикшена на .exe файлы в репозитории, то вы можете поместить драйвера прямо в ресурсы проекта. Т.к. ресурсы (maven) автоматически добавляются в classpath, вы сможете спокойно указывать относительный путь к драйверам. Но такое скорее всего не будет работать с гридом.

а мне нужно чтобы работало именно и с гридом, и просто на хостовой машине.

Ну грид то вы как-то поставляете на ремуотную тачку? Джарник ведь там сам по себе не появляется, так?
Тогда что вам мешает поставлять драйвера вместе с гридом (рядом в папочке webdrivers), а затем в скрипте, который поднимает ноду, указать проперти с относительным путем к лежащим рядом драйверам?

pushd %~dp0
java -jar lib/selenium-server-standalone-2.46.0.jar -role node -Dwebdriver.chromedriver=webdrivers/chromedriver.exe -Dwebdriver.ie.driver=webdrivers/IEDriverServer.exe -nodeCondig nodes.json
popd

При этом, в коде вам вообще ничего не придется сетить.

идеал, который от меня требуют - это чтобы данные исполняемые файлы шли вместе со скомпилированным jar файлом автотестов.

Не совсем понял сей затеи. Зачем тесты физически куда-то перемещать? У вас должен быть CI, который все соберет и запустит там, где вам надо. Я вообще слабо представляю, как при работе по какому-нибудь Scrum вы будете саппортить эти jar файлы?

у меня задача - автотесты для проверки работоспособности апплета при регулярном обновлении JDK-JRE на бета версии. При этом, чтобы можно было скачать 1 скомпилированный jar со сборщика и запустив его на любой машине с жавой - проверить работу системы(предложение №1 в этом посту)

Если у вас есть грид, зачем что-то куда-то качать? Перенаправили запуск на новый / обновленный нод и делов то.

хотят проверять на любой машине

Я честно внимательно прочитал все вопросы-ответы и так и не понял на каком конкретно месте возникла проблема, в упор ее не вижу. Про добавление хромдрайвера в джарник тоже не совсем понял - зачем? Джарник это по-сути обычный архив, в крайнем случае из него конечно можно и вытащить этот бинарник, но опять же - зачем?