2016-08-22 61 views
0

我面臨着在AWS設備場上運行我的蓋倫測試的問題,我正在將我的.gspec文件打包在src/tests/java文件夾下,並在我的POM.xml中提供相同的內容,它在農場的測試它拋出FileNotFound異常即:在AWS設備場上運行我的蓋倫測試的問題

java.io.FileNotFoundException: src/test/java/HomePage.gspec at 
com.galenframework.speclang2.pagespec.PageSpecReader.read(PageSpecReader.java:43) 
at com.galenframework.api.Galen.checkLayout(Galen.java:68) at 
com.galenframework.api.Galen.checkLayout(Galen.java:59) at 
com.galenframework.api.Galen.checkLayout(Galen.java:154) at 
com.galenframework.api.Galen.checkLayout(Galen.java:128) at 

這就像在本地設備上的魅力。

回答

2

我是AWS設備農場團隊的一名工程師。

我不熟悉蓋倫測試框架。我們還沒有正式測試該框架,聲稱它可以在設備農場上使用。

然而,幾件事情,我可以從你的描述使出來:

1 .gspec文件:看來這個框架正在閱讀該文件即可開始使用。任何基於appium/selenium的測試文件都可以在打包時放在src/test/resources下,這應該將文件放在jar根目錄下的* SNAPSHOT-tests.jar文件中。

這個jar文件然後在測試執行環境的CLASSPATH中可用,這意味着您可以直接訪問它。通過在* tests.jar文件中查找.gspec文件的存在,可以在上傳到設備場之前通過驗證來節省一些時間。

另一種方法是將文件放在src/test/resources/com(或任何包結構)下。然後,要訪問測試代碼中的文件,您可以假定該文件在資源下的包結構下存在,因此您的案例文件路徑中應爲「com/yourfile.gspec」。

希望這可以幫助您進一步進行。

+0

您是否獲得了同樣的錯誤,你最初發布? – NikofTime

+0

感謝您的回覆。 根據您的建議,我們嘗試了類似的方式,即將.gspec文件保存在src/test/resources/com下,並直接保存在資源中。我們也可以在打包的JAR中看到.gspec文件,即SNAPSHOT-tests.jar。同時也刪除了這個JAR的內容,它確實有gspec文件。所以所有這些方法都沒有奏效。 此外,我們假設我們確實擁有農場上的物理設備,因爲我們如前所述,我們能夠在本地成功運行物理設備上的Galen測試。 –

+0

是的,我收到了同樣的錯誤。找不到文件 –

0

嗨請找到我們正在使用Maven包的文件路徑和POM文件的代碼片斷的附加屏幕截圖。

POMFile

FilePathCode

+1

而不是絕對路徑嘗試使用相對路徑,例如'HomePage.gspec'。您可以嘗試我的示例項目之一,如果它適用於AWS設備場:https://github.com/hypery2k/galen_samples/tree/master/junit – hypery2k

+0

嗨, 我已更改文件路徑,現在它拋出UnsatisfiedLinkError異常: java.lang.UnsatisfiedLinkError:/usr/lib/jvm/jdk1.8.0_65/jre/lib/amd64/libawt_xawt.so:libXtst.so.6:無法打開共享對象文件:在java中沒有這樣的文件或目錄。 lang.ClassLoader $ NativeLibrary.load(Native Method)at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)at 請幫忙這個 Regards .. –

+0

嗨, 你能分享你的想法嗎? Regards .. –

相關問題