Файл компонента выполняется с ошибкой: ожидаемая специфичная для схемы часть в индексе 10: - PullRequest
0 голосов
/ 03 марта 2019

Настройка среды автоматизации в Eclipse.Создан проект Maven, установлен плагин Cucumber, указаны все зависимости.Теперь при запуске файла функции я получаю сообщение об ошибке.

Должен ли я склеить файл определения шага, как я это сделал в Intelij?Я очистил путь в опции Glue, но это не влияет на текущую проблему.

Exception in thread "main" java.lang.IllegalArgumentException: Expected scheme-specific part at index 10: classpath:
        at io.cucumber.core.model.GluePath.parseAssumeClasspathScheme(GluePath.java:64)
        at io.cucumber.core.model.GluePath.parse(GluePath.java:34)
        at cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:161)
        at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:108)
        at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:101)
        at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:97)
        at cucumber.runtime.Runtime$Builder.withArgs(Runtime.java:131)
        at cucumber.runtime.Runtime$Builder.withArgs(Runtime.java:127)
        at cucumber.api.cli.Main.run(Main.java:22)
        at cucumber.api.cli.Main.main(Main.java:8)
    Caused by: java.net.URISyntaxException: Expected scheme-specific part at index 10: classpath:
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.failExpecting(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        at io.cucumber.core.model.GluePath.parseAssumeClasspathScheme(GluePath.java:62)
        ... 9 more


    Here are all dependencies I added into pom.xml:




          <dependencies>
           <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>4.2.2</version>
            <scope>test</scope>
        </dependency>



        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-core</artifactId>
            <version>4.2.4</version>
        </dependency>



        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>4.2.4</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-jvm -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-jvm</artifactId>
            <version>4.2.4</version>
            <type>pom</type>
        </dependency>



        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-jvm-deps -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-jvm-deps</artifactId>
            <version>1.0.6</version>
            <scope>provided</scope>
        </dependency>



        <!-- https://mvnrepository.com/artifact/net.masterthought/cucumber-reporting -->
        <dependency>
            <groupId>net.masterthought</groupId>
            <artifactId>cucumber-reporting</artifactId>
            <version>4.5.1</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/info.cukes/gherkin -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>gherkin</artifactId>
            <version>2.12.2</version>
            <scope>provided</scope>
        </dependency>



        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>2.0.2-beta</version>
            <scope>test</scope>
        </dependency>

    <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/cobertura-maven-plugin -->
    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.7</version>
        <scope>test</scope>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>



    <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>27.0.1-jre</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/com.sun/tools -->
    <dependency>
        <groupId>com.sun</groupId>
        <artifactId>tools</artifactId>
        <version>1.7.0.13</version>
        <scope>system</scope>
        <systemPath>C:\Program Files\Java\jdk1.8.0_201\lib\tools.jar</systemPath>
    </dependency>

1 Ответ

0 голосов
/ 04 марта 2019

Я наткнулся на ту же трассировку стека, используя плагин Cucumber для Eclipse.Я только что перешел с Cucumber 1.2.5 (где все работало нормально) на 4.2.4.(Примечание: мне также пришлось изменить импорт для DataTable с cucumber.api.DataTable на io.cucumber.datatable.*.)

Страница github для кода , где происходит ошибка, дает некоторые подсказки.

Путь клея можно записать в виде имени пакета: {@code com.example.app}, пути {@code com / example / app} или uri {@code classpath:com / example / app}.

Основываясь на этом тексте, я заподозрил поле «Glue:» в конфигурации бегунка Cucumber Feature.По умолчанию было просто "classpath:".Когда я изменил это на имя пакета, в котором были расположены классы шагов, тесты запустились.

Я думаю, что старая версия Cucumber каким-то образом могла принимать "classpath:" для значения Glue,пока новой версии нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...