#eclipse #maven #selenium-webdriver #testng
#eclipse #maven #selenium-webdriver #testng
Вопрос:
Я пытаюсь создать проект TestNG Maven в Eclipse для Selenium. Вот мой код :
package Edureka_Case_Study_8th.Edureka_Case_Study_8th;
import org.testng.annotations.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class CaseStudy2 {
@Test
public void basicSetup() {
System.setProperty("webdriver.gecko.driver", "C:\Users\Sitesh\Selenium\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.flipkart.com/ ");
}
}
Когда я пытаюсь запустить его, я получаю следующую ошибку:
[RemoteTestNG] detected TestNG version 7.3.0
FAILED: basicSetup
java.lang.NoClassDefFoundError: org/openqa/selenium/remote/service/DriverService$Builder
at Edureka_Case_Study_8th.Edureka_Case_Study_8th.CaseStudy2.basicSetup(CaseStudy2.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(Unknown Source)
at org.testng.TestRunner.privateRun(TestRunner.java:764)
at org.testng.TestRunner.run(TestRunner.java:585)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
at org.testng.TestNG.runSuites(TestNG.java:1069)
at org.testng.TestNG.run(TestNG.java:1037)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: java.lang.ClassNotFoundException:
org.openqa.selenium.remote.service.DriverService$Builder
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
Может ли кто-нибудь, пожалуйста, предложить предложение / решение?
Используемые артефакты : Eclipse — Версия: 2020-06 (4.16.0), Selenium — v3.141.59
Ответ №1:
Похоже, проблема связана с библиотеками Selenium. Пожалуйста, добавьте все банки selenium. Следуйте ниже:
-
Загрузите привязки языка Selenium Client и WebDriver для Java с (убедитесь, что вы загружаете в соответствии с конфигурацией вашей системы)https://www.selenium.dev/downloads /
-
Разархивируйте файл.
-
Откройте свой проект> Щелкните правой кнопкой мыши> Путь сборки> Настроить встроенный путь > Библиотеки> Добавить внешние банки
-
Выберите все банки, присутствующие в распакованной папке выше (убедитесь, что вы также добавили библиотеки).
Также убедитесь, что Java установлена и путь к JDK указан в среде выполнения.
- Перейдите к пути сборки> Настроить встроенный путь> Библиотеки.
- Откройте системные библиотеки JRE
- И если по умолчанию выбранная среда не указывает на JDK. Выберите альтернативный JRE.
- Нажмите на установленные JRES и перейдите к выбору папки JDK.
Примечание: Используя тот же код и вышеупомянутую настройку, я могу запустить ваш скрипт.
Комментарии:
1. Спасибо за помощь. После перепроверки моих библиотек я обнаружил, что я добавил 2 библиотеки Selenium в POM.xml . Теперь, сохраняя только один, скрипт запускается!
2. Рад помочь. Поскольку вы не упомянули о том, что используете Maven, я предположил, что вы добавляете файлы jar вручную.