无法让AWS设备场识别我的功能文件

时间:2019-05-15 13:06:42

标签: java cucumber aws-device-farm

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

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

我从此消息中了解到,我的项目中features目录的路径存在问题,但在本地有效。

这就是我将其放入代码中的方式:

@CucumberOptions(功能=“ src / test / java / cucumber / features”,胶=“ cucumber.steps”)

我应该提供另一种设备场路径吗?我在这里想念什么?

谢谢

1 个答案:

答案 0 :(得分:0)

默认情况下,*-test.jar文件不包含src/test/java/cucmber目录(如果项目中存在)。尝试将功能文件放入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

-詹姆斯