首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >功能文件执行时出现错误:预期的方案特定部分在索引10处:

功能文件执行时出现错误:预期的方案特定部分在索引10处:
EN

Stack Overflow用户
提问于 2019-03-03 17:03:16
回答 1查看 1.4K关注 0票数 1

在Eclipse中设置一个自动化环境。创建了一个Maven项目,已安装了Cucumber插件,指定了所有依赖项。现在,在运行功能文件时,我会得到一个错误。

我用Intelij粘合步骤定义文件吗?我清除了Glue选项中的路径,但它对当前问题没有任何影响。

代码语言:javascript
复制
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>
EN

回答 1

Stack Overflow用户

发布于 2019-03-03 21:21:45

我看到了使用Cucumber插件用于Eclipse的相同的堆栈跟踪。我刚刚从Cucumber 1.2.5 (这里一切都很好)改为4.2.4。(注意:我还必须将DataTable的导入从cucumber.api.DataTable更改为io.cucumber.datatable.*。)

错误发生的代码的github页面提供了一些线索。

胶路径可以编写为包名{@code com.example.app}、路径{@code com/示例/app}或uri {@code classpath:com/example/app}。

基于本文,我怀疑Cucumber特性运行程序配置中的"Glue:“字段。默认值是"classpath:“。当我将它更改为step类所在的包名时,测试将运行。

我最好的猜测是,旧版本的Cucumber在某种程度上能够接受Glue值的"classpath:“,而新版本则不能接受。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54971380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档