2016-10-27 12 views
0

(このサイトを検索した後に)ウィンドウファイルマネージャにファイルパスを入力するメソッドを作成しました。これはうまく機能しましたが、テストケースを拡張してファイルの場所の配列をループし、テストファイルをWebアプリケーションに渡して、正しく処理されているかどうかをテストしたいと考えました。文字列の配列を反復処理する - ファイルパスを渡すSelenium

私は2番目のパス(私は2つのテストファイルを持っています)では、Windowsハンドラメソッドがファイル名を入力したくないという問題が発生しています。私のコードをスキャンして正しい方向に向けることができますか?ここで

は、Windowsのファイルマネージャの方法であって、ここで

public class WindowsFileSystemHandler { 
String filepath; 

public void enterfilepath(String pfilepath) throws Exception{ 

    filepath = pfilepath; 

    StringSelection ss = new StringSelection(filepath); 
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null); 
    Robot robot = new Robot(); 
    //robot.keyPress(KeyEvent.VK_ENTER); 
    //robot.keyRelease(KeyEvent.VK_ENTER); 
    robot.keyPress(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_V); 
    robot.keyRelease(KeyEvent.VK_V); 
    robot.keyRelease(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_ENTER); 
    robot.keyRelease(KeyEvent.VK_ENTER); 
    Thread.sleep(2000); 
} 

} 

はテストです:

WindowsFileSystemHandler file = new WindowsFileSystemHandler(); 
     String[] fileloc = {"d:\\JW\\testfiles\\scribbles.txt", "d:\\JW\\testfiles\\earth_large_file_size.jpg"} ; 
     for(int i =0 ; i<2; i++){ 

     Thread.sleep(2000); 

     try { 
      //WindowsFileSystemHandler file = new WindowsFileSystemHandler(); 
        file.enterfilepath(fileloc[i]); 
        System.out.println(fileloc[i]); 
        System.out.println(i); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     String testfiletype = driver.findElement(By.xpath(".//*[@id='SFI_control']/div[2]/div[2]")).getText(); 
     System.out.println(testfiletype); 
     ProfilePage.is_file_validation_successful(testfiletype); 
    }//end of for loop 

次のようにIncidentlyコンソール出力は次のとおりです。

d:\JW\testfiles\scribbles.txt 
0 
Invalid file type. 
true 
Test to see if system correctly rejects invalid file type was successful 
d:\JW\testfiles\earth_large_file_size.jpg 
1 
Invalid file type. 
true 
Test to see if system correctly rejects invalid file type was successful 

はおそらく愚かなものです私は行方不明です。

答えて

0

私は自分の問題を理解しました。基本的に私はステートメントを

driver.findElement(By.xpath(".//*[starts-with(@id, 'd2l_1_3_')]")).click(); 

としてforループ内に移動し、問題を解決しました。愚かな間違い。

面白いのは、この方法でテストしているシステムで、各ファイルのアップロード後に以前のエラーメッセージが消去されていないというバグが見つかりました。

関連する問題