WebDriver перестал работать. Что могло пойти не так?

cucumber
java
webdriver
maven
selenium
Теги: #<Tag:0x00007f7b62b1ca58> #<Tag:0x00007f7b62b1c8f0> #<Tag:0x00007f7b62b1c7b0> #<Tag:0x00007f7b62b1c670> #<Tag:0x00007f7b62b1c508>

(Юра Куськов) #1

Проблема заключается в том, что был рабочий тест и никто его не трогал, и вдруг он перестал работать. Падает все на строчке driver = new ChromeDriver();. А раньше в следующей строке передавалось driver.get("URL"); и открывалась страничка, теперь не открывается.

Я попытался сделать обновление зависимостей, которые показались устаревшими, гуглил но видел множество мусора внутри которого сложно найти решение. http://chromedriver.chromium.org/downloads тут словил Forbidden.

Summary
[INFO] +- org.seleniumhq.selenium:selenium-java:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-api:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-chrome-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-edge-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-firefox-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-ie-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-opera-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-remote-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-safari-driver:jar:3.14.0:compile
[INFO] |  +- org.seleniumhq.selenium:selenium-support:jar:3.14.0:compile
[INFO] |  +- net.bytebuddy:byte-buddy:jar:1.8.15:compile
[INFO] |  +- org.apache.commons:commons-exec:jar:1.3:compile
[INFO] |  +- commons-codec:commons-codec:jar:1.10:compile
[INFO] |  +- commons-logging:commons-logging:jar:1.2:compile
[INFO] |  +- com.google.guava:guava:jar:25.0-jre:compile
[INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] |  |  +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile
[INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
[INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
[INFO] |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.4.9:compile
[INFO] |  +- com.squareup.okhttp3:okhttp:jar:3.10.0:compile
[INFO] |  \- com.squareup.okio:okio:jar:1.14.1:compile
[INFO] +- junit:junit:jar:4.12:compile
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] +- info.cukes:cucumber-java8:jar:1.2.5:compile
[INFO] |  \- info.cukes:cucumber-java:jar:1.2.5:compile
[INFO] +- info.cukes:cucumber-junit:jar:1.2.5:compile
[INFO] |  \- info.cukes:cucumber-core:jar:1.2.5:compile
[INFO] |     +- info.cukes:cucumber-html:jar:0.2.3:compile
[INFO] |     +- info.cukes:cucumber-jvm-deps:jar:1.0.5:compile
[INFO] |     \- info.cukes:gherkin:jar:2.12.2:compile
[INFO] +- org.javatuples:javatuples:jar:1.2:compile
[INFO] \- org.apache.httpcomponents:httpclient:jar:4.5.6:compile
public class MainTest {

    private Search s;

    @cucumber.api.java.Before
    public void setUp(){
        Driver.log = new Logger();
        Driver.log.init("src\\result\\log" + Driver.log.getDate() + ".txt");
        try{
        Driver.init();
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR] не удалость инициализировать драйвер");
        }

        s = new Search(Driver.driver); // по этой строке вылетает java.lang.NoSuchFieldError: driver с кучей подстрок
    }
..........

windows 10


(Сергей Кузьмин) #2

вы уж весь exception лог приводите не стесняйтесь


(Юра Куськов) #3
Summary
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running runTest
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.openqa.selenium.os.ProcessUtils (file:/C:/Users/sevas/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/2.53.1/selenium-remote-driver-2.53.1.jar) to field java.lang.ProcessImpl.handle
WARNING: Please consider reporting this to the maintainers of org.openqa.selenium.os.ProcessUtils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Failed scenarios:
test.feature:5 # ��������: ����� ����������� ������������ ������� � ���, ������� �� �������� � ������������ ������ 223, � ��������� �� ��������� ���������

1 Scenarios (1 failed)
8 Steps (8 passed)
0m24,183s

java.lang.NullPointerException
	at Driver.finish(Driver.java:29)
	at MainTest.close(MainTest.java:117)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at cucumber.runtime.Utils$1.call(Utils.java:37)
	at cucumber.runtime.Timeout.timeout(Timeout.java:13)
	at cucumber.runtime.Utils.invoke(Utils.java:31)
	at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
	at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:223)
	at cucumber.runtime.Runtime.runHooks(Runtime.java:211)
	at cucumber.runtime.Runtime.runAfterHooks(Runtime.java:205)
	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:46)
	at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Tests run: 9, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 25.181 sec <<< FAILURE!
Сценарий: Найти сегодняшние коммерческие закупки с ЕИС, которые не отменены и соответсвуют нормам 223, и посчитать их суммарную стоимость  Time elapsed: 0.192 sec  <<< ERROR!
java.lang.NullPointerException
	at Driver.finish(Driver.java:29)
	at MainTest.close(MainTest.java:117)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at cucumber.runtime.Utils$1.call(Utils.java:37)
	at cucumber.runtime.Timeout.timeout(Timeout.java:13)
	at cucumber.runtime.Utils.invoke(Utils.java:31)
	at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
	at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:223)
	at cucumber.runtime.Runtime.runHooks(Runtime.java:211)
	at cucumber.runtime.Runtime.runAfterHooks(Runtime.java:205)
	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:46)
	at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)


Results :

Tests in error: 
  Сценарий: Найти сегодняшние коммерческие закупки с ЕИС, которые не отменены и соответсвуют нормам 223, и посчитать их суммарную стоимость

Tests run: 9, Failures: 0, Errors: 1, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31.270 s
[INFO] Finished at: 2018-10-13T19:32:54+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project my_first_test: There are test failures.
[ERROR] 
[ERROR] Please refer to C:\Users\sevas\Desktop\test-task-for-java-autotest\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Process finished with exit code 1

(Vasiliy Rakshin) #4

Нууу, после окончания теста, вы решили закрыть драйвер (строка 117), а он уже был закрыт либо в самом тесте, либо до вызова 117 строки. Ищите кто закрыл драйвер.


(Юра Куськов) #5

как я понял он и не открывался.в этом и проблема. что раньше всё работало, я ничего не менял в коде…


(Vasiliy Rakshin) #6

8 степов прошло, значит открывался… Или в этих степах нет работы с браузером?


(Юра Куськов) #7

именно, браузер не запустился и все степы завершились ошибкой. надо чтобы браузер открылся.
насколько я проанализировал свой вчераработавший код, driver = new ChromeDriver();не работает почему-то. тип переменной driver - WebDriver, если что


(Vasiliy Rakshin) #8

У вас странная логика. Степы - прошли без ошибок, написано же что они прошли. Если бы хоть в одном была ошибка - то мы бы видели ошибку в работе шага, а мы видим ошибку при закрытии браузера. Как у вас тест может выполнятся без браузера?
Давайте весь MainTest сюда.
Я к тому, что вообще-то не видно что есть проблема в том что браузер не запустился.

  • добавьте тогда в приведённый выше кусок кода, в раздел кэтч - вывод самого сообщения об ошибке - переменную “e” - типа e.принтСтекТрейс - и вы увидете что именно не хватает для инициализации драйвера. И вообще-то у вас тут должно быть вообще окончание всего (драверлог и ещё выброс ошибки), т.к. сетап полностью не выполнился - нет смысла двигаться дальше.

(Юра Куськов) #9

извиняюсь. просто я каждый в try поместил. вот так выглядит лог


и MainTest вот ещё :

Summary
import cucumber.api.java.ru.*;
import org.javatuples.Pair;

public class MainTest {

    private Search s;

    @cucumber.api.java.Before
    public void setUp(){
        Driver.log = new Logger();
        Driver.log.init("src\\result\\log" + Driver.log.getDate() + ".txt");
        try{
            Driver.init();
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR] не удалость инициализировать драйвер");
        }

        s = new Search(Driver.driver);
    }

    @Когда("^Пользователь ставить минимальную стоимость ноль$")
    public void FillStartPrice(){
        try{
            s.FillStartCost("0");
            Driver.log.writeLog("Выставление начальной цены '0'");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR]Не получилось выставить начальную цену");
        }
    }

    @И("^Чекает нормы 223$")
    public void Check223(){
        try{
            s.FillCheck223();
            Driver.log.writeLog("Чек 'Закупка в соответствии с нормами 223-ФЗ (за исключением норм статьи 3.2 223-ФЗ)'");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR]Не получилось выставить соответствие нормам 223");
        }
    }

    @И("^Чекает коммерческие закупки$")
    public void CheckCommercialPurchase(){
        try{
            s.FillCheckCommercialPurchase();
            Driver.log.writeLog("Чек 'Коммерческая закупка'");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR]Не получилось выставить чек на коммерческие закупки");
        }
    }

    @И("^Устанавливает дату публикации на сегодня$")
    public void FillTodayPublicationDate(){
        try{
            s.FillDate();
            Driver.log.writeLog("'Дата публикации извещения' на сегодня");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR]Не получилось выставить дату публикации");
        }
    }

    @Тогда("^Запускает поиск$")
    public void StartSearch(){
        try{
            s.SelectSearch();
            Driver.log.writeLog("Начало поиска");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR]Не получилось запустить поиск");
        }
    }

    @Когда("^Появился искомый список$")
    public void WaitLoadList(){
        try{
            s.WaitLoad();
            Driver.log.writeLog("Ожидание загрузки списка для последующего его форматирования");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR] Проблема с прогрузкой списка закупок");
        }
    }

    @И("^Выставлен размер списка 100$")
    public void FillListSize(){
        try{
            s.setListSize100();
            Driver.log.writeLog("Выставление размера списка на '100'");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR] Не получилось изменить размер отображаемого списка закупок");
        }
    }
    @Тогда("^Посчитать сумму не отменных закупок с номерами в ЕИС$")
    public void CountSumPurchases(){
        try{
            int ids = 0; double sum = 0;
            for (int i =0; i < s.getSumPage(); i++, s.setNextPage()){
                Pair<Integer,Double> newSum = s.focusRow();
                ids += newSum.getValue0();
                sum += newSum.getValue1();
            }
            Driver.log.writeLog(String.format("Найденно закупок: %d  Сумма = %.3f рублей.", ids,sum));
            System.out.println("Found purchases: "+ids+"\nThe sum: "+sum+" rub.");
        }
        catch (Exception e){
            Driver.log.writeLog("[ERROR] Не удаётся обработать список закупок");
        }
    }

    @cucumber.api.java.After
    public void close(){
        Driver.finish();
    }
}


(Vasiliy Rakshin) #10

Отходите от этого трая, это в тестах лишнее и опасное. Я выше дописал вам путь решения. Т.к. вы оградились от стандартных сообщений об ошибке выдаваемых тестами, которые сами и можете разобрать и исправить, своими описаниями ошибок. А в отчете кукумбера бы было прописано и так: степ такой-то не выполнился, такая-то ошибка и стектрейс.


(Юра Куськов) #11

вот стектрейс. адрес рабочий, поэтому вопрос почему фейлится запуск браузера…

Summary
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'SEVNIGHT', ip: '192.168.0.101', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11'
Driver info: driver.version: Driver
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
	at Driver.init(Driver.java:18)
	at MainTest.setUp(MainTest.java:13)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at cucumber.runtime.Utils$1.call(Utils.java:37)
	at cucumber.runtime.Timeout.timeout(Timeout.java:13)
	at cucumber.runtime.Utils.invoke(Utils.java:31)
	at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
	at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:223)
	at cucumber.runtime.Runtime.runHooks(Runtime.java:211)
	at cucumber.runtime.Runtime.runBeforeHooks(Runtime.java:201)
	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:40)
	at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.lang.IllegalStateException: The process has not exited yet therefore no result is available ...
	at org.apache.commons.exec.DefaultExecuteResultHandler.getException(DefaultExecuteResultHandler.java:76)
	at org.openqa.selenium.os.UnixProcess.checkForError(UnixProcess.java:171)
	at org.openqa.selenium.os.CommandLine.checkForError(CommandLine.java:185)
	at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:177)
	at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:166)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644)
	... 51 more

(Vasiliy Rakshin) #12

И какой же там Хром стоит? И драйвер для него?


(Юра Куськов) #13
Driver
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * Драйвер Chrome для реализации приложения
 */
public class Driver {

    static WebDriver driver = null;
    private static String URL =  "https://223.rts-tender.ru/supplier/auction/Trade/Search.aspx";
    static Logger log;

    /**
     * Инициализация
     */
    static void init(){
        log.writeLog("Инициализация драйвера Chrome");
        driver = new ChromeDriver();
        log.writeLog("Переход по "+Driver.URL);
        driver.get(URL);
    }

    /**
     * Конец теста
     */
    static void finish(){
        log.writeLog("Завершение теста");
        Driver.log.finishLog();
        driver.close();
    }
}

(Vasiliy Rakshin) #14

Я спрашиваю про машину где запускаются тесты. Сообщение об ошибке ясно подсказывает что проблема с драйвером или браузером. т.к. Селениум староват.


(Юра Куськов) #15

Последняя версия Хрома, а драйвер я отдельно не ставил, потому-что все без него работало да и его с впн надо качать, я так понял он встроенный есть. Получается мне нужно драйвер поставить руками на хром? селениума версия вряд ли, ибо поставил последнюю версию selenium-java - не спасло


(Vasiliy Rakshin) #16

у вас вот какая версия Селениума, это мягко сказать уже не айс. Разбирайтесь с версиями. Копайте откуда и как у вас берётся драйвер для Хрома и зачем он нужен и какой он есть.


(Сергей Кузьмин) #17

одно из кардинальных изменений с 2.53 на 3.x это необходимость код переписать с учетом

import org.openqa.selenium.chrome.ChromeDriver;
...

			System.setProperty("webdriver.chrome.driver",
 Paths.get(System.getProperty("user.home"))
.resolve("Downloads")					.resolve("chromedriver").toAbsolutePath().toString());

a уже (много) позднее (так как обычно много чего передается через capabilities , options и тюдю)

driver = new ChromeDriver(capabilities);

что то мне подсказывает что
в вашем коде этого нет


(Taras) #18

http://chromedriver.chromium.org/downloads тут словил Forbidden. - открой через incognito mode


(Юра Куськов) #19

Спасибо вам, разобрался в какое направление капать, хоть и не смог запустить ваш код. Нашел решение по ссылке http://internetka.in.ua/selenium-chrome-driver/ .
Конечно вижу возможные проблемы с данными методом… раньше я не скачивал драйвер и не указывал к нему явный путь. Проект действительно работал таким же образом с простой строкой driver = new ChromeDriver();, почему оно перестало работать мне не ясно… этот вопросы остаётся открытым.


(Юра Куськов) #20

Спасибо за помощь, узнал для себя кое что новое) Проект запустил, но вопрос остался открытым.