Получение драйвера не выполняется при использовании менеджера веб-драйверов?
С помощью 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>