2011-10-19 4 views
1

私たちのテストアプリケーションは、Selenium Remote Controlを介して複数の仮想マシン上で動作します。 このアプリケーションは、テストコントローラーサーバー上にあります。セレンがファイルへの読み取りアクセス権を持っているかどうかをテストする方法

test-appは、サードパーティのオンラインアプリケーションをテストするために使用されます。

特定のVMでSelenium-RCがファイルまたはフォルダへの読み取りアクセス権を持っているかどうかを確認するにはどうすればよいですか。

セレンにもfile.canRead(filepath)のようなものがありますか?

あなたが応答する前に: ファイルのcanRead(filepath)を意志だけテストファイルは、それが実際のブラウザでは、(テスト)は、サードパーティ・オンライン - を開いているVM上で読むことがあれば何も言うことができ、テストコントローラサーバーから読み取れない場合応用。

基本的に、セレンを介してサードパーティのオンラインアプリケーションにファイルをアップロードしたいとします。

アップロードを行う前に、ファイルがアップロード可能(VM上)であることを確認します。

答えて

1

解決方法は、アプリケーションでダウンロードリンクを作成してから、Selenium経由でファイルのダウンロードを試みることです。そうすれば、あなたはユーザーを代表する経験を得ることができます。

本当に欲しいのであれば、アプリケーションに現在の日付のファイルを作成させてから、テストファイル(単純なテキストファイル)をダウンロードさせ、そのファイルに日付が含まれているかどうかを確認させます。次に、アプリケーションのテストを行い、アクセス権をカバーするファイルとユーザーのファイルを読み込みます。

+0

申し訳ありませんが、私は、あまりにも明確ではなかった。私はちょうど私の質問を更新した。 – Watt

1

使用しているスクリプト言語はどれですか?あなたのファイルは、「./data」ディレクトリの下に存在をアップロードすると仮定した場合、Javaで次の手順

File file = new File("./data/myfile.ext"); 
boolean canUpload = file.exists() && file.canRead(); 

String fileToUpload = file.getCanonicalPath(); //file name with full path 
+0

ブラウザは、(サーバボックス上で動作する)selenium-javaアプリケーションによって制御されます。ブラウザはいくつかのVM上で動作しています。ブラウザはファイルをアップロードする必要があります。したがって、一部のVMのブラウザはファイルにアクセスする必要があります。私はセレンのJavaアプリケーションでファイルのアクセスを確認する必要はありません。あなたのコードは、各VM上のセレンコントローラブラウザではなく、selenium-javaアプリケーションによるファイルのアクセスをチェックします。 – Watt

0
File file = new File("Folder_Location"); // Folder path if file name not known 

boolean canUpload = file.listFiles()[index].canRead(); 

注意して確認することができます。最新のダウンロード用のファイルを使用する

int size=file.listFiles().length-1; 

boolean canUpload = file.listFiles()[size].canRead(); 
関連する問題