Получение драйвера не выполняется при использовании менеджера веб-драйверов?

С помощью webdrivermanager 1.7.1 автоматизировать бинарные загрузки для chromedriver, но я получаю сообщение "Драйвер не исполняемый".

Я знаю решение chmod +x ../chromedriver но для этого требуется автоматизированный процесс!!

Любая помощь высоко ценится.

Спасибо

1 ответ

Подобная проблема здесь также. Chrome работал, но не Firefox. Удалил папку geckodriver и попробовал так же.

Но я сделал chmod 777 на geckdriver, и это сработало.

package frameWork;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;

import io.github.bonigarcia.wdm.WebDriverManager;

public class BaseClass {

    public WebDriver driver;

    public WebDriver initializeDriver() throws IOException {
        Properties p = new Properties();
        FileInputStream f = new FileInputStream("src/main/java/frameWork/data.properties");

        p.load(f);
        String browser = p.getProperty("browser");

        if(browser.equals("chrome")) {
            WebDriverManager.chromedriver().setup();
            driver = new ChromeDriver();

        } else if(browser.equals("firefox")) {
            WebDriverManager.firefoxdriver().setup();
            driver = new FirefoxDriver();

        } else {
            System.setProperty("webdriver.safari.driver","/usr/bin/safaridriver");
            driver = new SafariDriver();
        }

        //driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        return driver;
    }

}

ошибка

[RemoteTestNG] обнаружил TestNG версии 6.8.0 [TestNG] Работает:
/private/var/folders/q1/2vf46m2546926xbq00dw66l40000gp/T/testng-eclipse-1456133345/testng-customsuite.xml

[main] ИНФОРМАЦИЯ io.github.bonigarcia.wdm.WebDriverManager - Последняя версия [wire, geckodriver] - 0.20.0 13 марта 2018 10:49:44 org.apache.http.client.protocol.ResponseProcessCookies processCookies ПРЕДУПРЕЖДЕНИЕ: Неверный заголовок cookie: "Set-Cookie: logged_in=no; домен =.github.com; путь =/; expires=Sat, 13 марта 2038 05:19:44 -0000; безопасный; HttpOnly". Неверный атрибут 'expires': сб, 13 марта 2038 05:19:44 -0000 ПРЕДУПРЕЖДЕНИЕ: произошла недопустимая операция отражающего доступа ПРЕДУПРЕЖДЕНИЕ: незаконный отражающий доступ org.rauschig.jarchivelib.FileModeMapper$FileSystemPreferencesReflectionChmodCommand (file:/Users/basil/.m2/repository/org/rauschig/jarchivelib/0.7.1/jarchivelib-0.7.1.jar) для метода java.util.prefs.FileSystemPreferences.chmod(java.lang.String,int) ВНИМАНИЕ: Пожалуйста, рассмотрите возможность сообщения об этом сопровождающие org.rauschig.jarchivelib.FileModeMapper $ FileSystemPreferencesReflectionChmodCommand ПРЕДУПРЕЖДЕНИЕ: Используйте --illegal-access=warn для включения предупреждений о дальнейших недопустимых операциях доступа с отражением ВНИМАНИЕ: все будущие операции доступа будут запрещены в будущем выпуске 13 марта 2018 г. 10:49:50. Org.rauschig.jarchivelib.FileModeMapper$UnixPermissionMapper chmod ПРЕДУПРЕЖДЕНИЕ. Не удалось установить права доступа к файлу /Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver. Исключением было: null [main] WARN io.github.bonigarcia.wdm.Downloader - файл настроек ошибок /Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0-macos.tar.gz как исполняемый файл [main] INFO io.github.bonigarcia.wdm.WebDriverManager - экспорт webdriver.gecko.driver в виде /Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0 -macos.tar.gz СБОЙ: basePageNavigation java.lang.IllegalStateException: исполняемый файл драйвера не существует: /Users/basil/.m2/repository/webdriver/geckodriver/macos/0.20.0/geckodriver-v0.20.0-macos. tar.gz на com.google.common.base.Preconditions.checkState(Preconditions.java:585) на org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:136) на org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:131) по адресу org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:41) по адресу org.openqa.selenium.firefox.verindeDefenderDervicecutable(GeckoDriverService.java:141) в org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339) в org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxD15): FirefoxD15 по адресу org.openqa.selenium.firefox.FirefoxDriver. (FirefoxDriver.java:120) по адресу org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:98) по адресу frameWork.BaseClass.initializeDriver: базовый класс (базовый уровень) frameWork.HomePage.basePageNavigation(HomePage.java:11) в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в java.base / jdk.internal.reflect.NativeMethodAccessorl) в java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.base/java.lang.reflect.Method.invoke(Method.java:564) в org.test.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) в org.testng.internal.Invoker.invokeMethod(Invoker.java:714) в org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) в org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) в org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.jternaldTork.javadng7) at7.run(TestMethodWorker.java:111) в org.testng.TestRunner.privateRun(TestRunner.java:767) в org.testng.TestRunner.run(TestRunner.java:617) в org.testng.SuiteRunner.runTest(SuiteR). Java:334) в org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) в org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) в org.testng.SuiteRunner.run(SuiteRunner.java:240 в) org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) в org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) в org.testng.TestNG.runSuitesSequentially(TestNng.j..runSuitesLocally(TestNG.java:1123) в org.testng.TestNG.run(TestNG.java:1031) в org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) в org.testng.remoteRR. я nitAndRun(RemoteTestNG.java:251) в org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

Попробуйте использовать эту версию WebDriverManager:

<!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.8.1</version>
        </dependency>
Другие вопросы по тегам