【问题标题】:Cannot get my features files recognized by aws device farm无法让我的功能文件被 aws 设备场识别
【发布时间】:2019-05-15 13:06:42
【问题描述】:

我在使用设备场运行黄瓜项目时遇到问题。 我收到此错误:

[TestNG] 引起:java.lang.IllegalArgumentException:不是文件或目录:/tmp/scratchheDEgq.scratch/test-packagex5ZhYf/src/test/java/cucumber/features

我从这条消息中了解到,我的项目中 features 目录的路径存在问题,但在本地可以正常工作。

这就是我把它放在我的代码中的方式:

@CucumberOptions(features = "src/test/java/cucumber/features", 胶水 = "cucumber.steps")

我应该为设备场提供不同的路径吗?我在这里错过了什么?

谢谢

【问题讨论】:

  • 尝试在功能选项中使用前导斜杠 -->> features="/src/test/java/cucumber/features/"
  • 我试过了,还是不行。在本地它正在工作,但在设备场上它不是
  • 嗯,那个文件在你的测试包里吗?你能解压它并向我们展示目录结构并解压jar并做同样的事情吗?
  • 我的回答有帮助吗?如果是这样,请将其标记为正确,以便对其他人有所帮助

标签: java cucumber aws-device-farm


【解决方案1】:

默认情况下,src/test/java/cucmber 目录(如果它存在于项目中)不包含在 *-test.jar 文件中。尝试将功能文件放在 src/test/resources 目录中,如 Device Farm 示例项目中所示。

https://github.com/aws-samples/aws-device-farm-appium-cucumber-tests-for-sample-app/tree/master/src/test/resources/LoginTest

或者,您可以在 pom.xml 中实现 testResources 标记,以显式引用除 src/test/resources 之外的另一个目录,假设我们使用的是 maven:

<testResources>
     <testResource>
        <directory>${project.basedir}/src/test/YOUR_DIRECTORY_HERE</directory>
     </testResource>
</testResources>

查看此链接以获取有关 testResources 标记的更多信息 https://maven.apache.org/pom.html#Resources

testResources:testResources 元素块包含 testResource 元素。它们的定义类似于资源元素,但自然会在测试阶段使用。一个区别是项目的默认(Super POM 定义)测试资源目录是 ${basedir}/src/test/resources。未部署测试资源。

HTH

-詹姆斯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    相关资源
    最近更新 更多