2017-08-09 10 views
0

My Appiumスクリプトはローカルでは完全に動作しますが、awsデバイスファームに移行すると、1つのクラスファイルのために解析エラーが返されます。 このクラスファイル内のExcelファイルからデータをインポートしようとしています。私はエラーがExcelファイルのパスのためだと思う。AWS Device Farm - スクリプト内の余分なデータパス

awsでデータエクセルファイルを余分なデータとしてアップロードしていますが、場所を見つけることができません。

public static void changeCity() throws InterruptedException{ 
try{ 
    File src = new File("data1.xls"); 
    Workbook wb = Workbook.getWorkbook(src); 
    Sheet sh1 = wb.getSheet(0); 
    Sheet bugzillaUpdation = wb.getSheet("UtilityCredentials"); 

問題を解決するのを手伝ってください。

答えて

0

プロジェクトのsrc/test/java/resources /にファイルを置こうとするとどうなりますか?そうすれば、それは瓶とデバイスファームで構築され、それを参照することができます。

[更新]

がawslabs githubのページからサンプルプロジェクトでこれを自分でしようとしました[1]。このファイルは/Referenceapp-Appium-Test/src/test/resources/testng.xmlに位置し、のpom.xmlから参照されている

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Default Suite"> 
    <test name="test"> 
     <classes> 
      <class name="file.FindFile"/> 
     </classes> 
    </test> 
</suite> 

:私はまた、必要に応じて、このXMLを含まtestng.xmlファイルを作成しますこのプラグインを使用した:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.4</version> 
    <configuration> 
    <suiteXmlFiles> 
     <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> 
    </suiteXmlFiles> 
    </configuration> 
</plugin> 

testng.xmlは、あくまでも一例プロジェクトのテストのすべての特定のテストを実行していないために、ここで使用されています。これはオプションで、FYIの知識のためにここにあります。

は、私は、同じディレクトリ内のtest.CSVファイルを作成し、「ファイル探索」は内部のテストクラスで新しいパッケージ「ファイル」を作成しました:私は、デバイスでそれをこれを実行したときにそう

package file; 

import java.io.File; 

import org.testng.annotations.Test; 

import Pages.BasePage; 
import io.appium.java_client.AppiumDriver; 

public class FindFile extends BasePage { 
    protected FindFile(AppiumDriver driver) { 
     super(driver); 
     // TODO Auto-generated constructor stub 
    } 

    @Test 
    public static void changeCity() throws InterruptedException{ 
      try{ 
       File src = new File("/Referenceapp-Appium-Test/src/test/resources/test.csv"); 
       System.out.println("File found!!!"); 
      }catch(Exception e){ 
       System.out.println(e); 
      } 
     } 
} 

私はFindFile.java内でテストを実行しただけでした。私がappium javaの出力を見たときに私はprintlnを見たので、それはどのように動作するのか知っています。

よろしく

ジェームズを支援

[TestNG] RUNNING: Suite: "Command line test" containing "1" Tests (config: null) 
[TestNG] INVOKING: "Command line test" - file.FindFile.changeCity() 
[Invoker 1121172875] Invoking file.FindFile.changeCity 
File found!!! 
[TestNG] PASSED: "Command line test" - file.FindFile.changeCity() finished in 35 ms 
===== Invoked methods 
    FindFile.changeCity()[pri:0, instance:null] <static> 
===== 
Creating /tmp/scratchLT6UDz.scratch/resultsm_f_bN/Command line suite/Command line test.html 
Creating /tmp/scratchLT6UDz.scratch/resultsm_f_bN/Command line suite/Command line test.xml 
PASSED: changeCity 

希望

[1]私はJUnitのを使用して File src = new File("/acme-android-appium/src/test/resources/data1.xls");として場所を置くhttps://github.com/awslabs/aws-device-farm-appium-tests-for-sample-app

+0

ファイルsrc =新しいファイル( "/ Referenceapp-Appium-Test/src/test/resources/test.csv");これは私にとってはうまくいかない。ファイルパスはまだエラーです。 –

+0

愚かな質問ですが、そのディレクトリにtest.csvを追加しましたか? – jmp

+0

私が行ったことにどのように従ったかについて、より多くの情報を私に提供できますか? – jmp

0

@jmp

上記のXMLファイルについては明確ではありません。スクリプトでファイルを見つける方法を教えてください。

添付の画像をご覧ください。

project explorer

1

私はAWSデバイスのファームチームのために働きます。

  1. これはcomの下でテストjarファイル内のファイルを配置しますExcelファイルをsrc/test/resources/com/yourexcelfile.xlsx/csv
  2. 下に置かれていることを確認します:

    は、次の2つのアプローチを使用することができます.xlsxまたは.csvファイルを読み込むにはフォルダ。
  3. ことが確認されたらあなたは以下の2つのコードスニペットのいずれかを使用してファイルを読み込むことができる必要があります:

    java.net.URL resource = ClassLoader.getSystemResource("/com/yourexcelfile.xlsx"); 
    File file = new File(resource.toURI()); 
    FileInputStream input = new FileInputStream(file); 
    

    ORあなたがいる場合

    :任意の外部ライブラリがなければ

をApache POI APIを使用してExcelファイルを読み込む:

InputStream ins = getClass().getResourceAsStream(“/com/yourexcelfile.xlsx”); 
workbook = new XSSFWorkbook(ins); 
sheet = workbook.getSheetAt(1); 
ins.close(); 

これが役立つことを願っています。

関連する問題