2011-10-19 87 views
1

我們的測試應用程序通過Selenium Remote Control在多臺虛擬機上運行。 該應用程序位於測試控制器服務器上。硒如何測試它是否可以讀取文件

測試應用程序用於測試第三方在線應用程序。

如何測試,看看是否對某些VM硒-RC有權讀取文件或文件夾。

有沒有像file.canRead(filepath)種事情硒太什麼了嗎?

之前,你回答: 文件的canRead(filepath)只會如果該文件是從測試控制器服務器讀取,不能說什麼,如果它是可讀的虛擬機上,其中實際的瀏覽器打開(測試)第三方online-測試應用。

基本上,我想通過硒上傳一些文件到第三方在線應用。

做一個上傳之前,我想,以確保該文件是可上傳(VM上)。

回答

1

一種解決方案是建立在應用程序下載鏈接,然後嘗試通過硒下載該文件。這樣,您就可以獲得用戶代表的體驗。

如果你想成爲真正看中的,有應用程序創建與當前日期一個文件,然後讓測試下載文件(簡單的文本文件),並檢查文件是否包含日期。然後,你測試應用程序寫入文件,用戶讀取文件,這也包括訪問權限。

+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應用程序控制(運行在服務器上)。瀏覽器正在某些虛擬機上運行。瀏覽器需要上傳文件。因此,在特定虛擬機上的瀏覽器應該可以訪問該文件。我不需要通過selenium-java應用程序檢查文件的訪問權限。您的代碼將通過selenium-java應用程序檢查文件的訪問權限,而不是通過每個VM上的Selenium控制器瀏覽器來檢查。 – 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(); 
相關問題