2012-06-14 27 views

回答

0

我不知道,如果硒IDE足以達到你正在嘗試做的,但如果你可以將記錄測試案例出口到像Java的任何語言,然後你可以很容易地修改導出的代碼編寫你有變數使用Java等語言的內置功能將其存儲到任何文件中。

4

它使用硒IDE是不可能的,但你可以存儲使用Selenium RC或webdriver的(Junit的或NUnit的)。

+0

現在可以使用@tomm答案。 –

0

它使用硒IDE是不可能的,你需要使用硒的webdriver在那裏你可以編寫語言做的讀/寫操作的文件。

0

在這裏你可以找到答案如何讀取CSV文件變量(你應該arrach在硒IDE選項擴展,並在該頁面.js文件也例如如何使用它)

http://openselenium.com/?p=19

+1

我們要求用戶不要簡單地發佈鏈接到解決方案,因爲鏈接可能會停止工作。你能編輯你的答案,在鏈接的文章中包含步驟/例子的摘要嗎? –

0

您可以使用 '文件記錄' 爲這個,試試下面的插件

https://addons.mozilla.org/en-US/firefox/addon/file-logging-selenium-ide/

步驟:

  1. 安裝附加組件
  2. 將日誌級別設置爲 '信息'
  3. 導航到 '選項 - > FileLogging' 在IDE和提供路徑(D:\Users\jmatthew\Desktop\Selenium\Log1.csv
  4. 使用命令storeText | id=abcd.aa | value
  5. 使用命令echo | ${value}
  6. 閱讀使用VLOOKUP作爲匹配結果的CSV文件包含'echo'
1

這絕對有可能。您只需使用Mozilla(Firefox)插件​​API https://developer.mozilla.org/en-US/Add-ons創建一些JavaScript函數,將此函數保存在selenium核心擴展文件http://www.seleniumhq.org/docs/08_user_extensions.jsp中,並將此擴展添加到Selenium IDE中。

樣本函數寫文本文件:

// ==================== File Writer ==================== 
Selenium.prototype.doWriteData = function(textToSave, location) 
{ 
    var data = textToSave; 
    var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); 
    file.initWithPath(location); 
    var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); 
    foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); 
    var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"].createInstance(Components.interfaces.nsIConverterOutputStream); 
    converter.init(foStream, "UTF-8", 0, 0); 
    converter.writeString(data); 
    converter.close(); 
} 

閱讀是簡單做的一樣好,只是增加一個功能,像「doReadData」更這裏信息https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O

爲了這個腳本添加到硒-IDE,按照此說明:

  1. 創建用戶的擴展並保存爲用戶extensions.js。雖然這個名稱在技術上沒有必要,但最好保持 的一致性。
  2. 打開Firefox並打開Selenium-IDE。
  3. 點擊工具,選項
  4. 在Selenium Core Extensions中點擊瀏覽並找到用戶擴展。 js文件。點擊確定。
  5. 您的用戶擴展程序尚未加載,您必須關閉並重新啓動Selenium-IDE。
  6. 在您的空測試中,創建一個新命令,您的用戶擴展現在應該成爲命令下拉列表中的一個選項。
+0

是否有可能修改此函數來連接而不是每次運行該命令時重新寫入該文件?我必須在腳本執行過程中多次寫入文件,而這個命令只是存儲最後一次運行的數據......我嘗試瞭解這個函數,但我太新手了,無法修改它:(在初始化方法中使用 – sanjuro8998

+2

@ sanjuro8998使用0x02 | 0x10代替0x02 | 0x08 | 0x20(第二個參數init方法) – tomm

+0

非常感謝你,它的工作!!!最後一個問題:是否可以添加換行符?例如,我寫了:writeData,text \ n,c:\ file.txt ...之後,又有另一個像這樣的命令......它們連接在一起而沒有\ n,所以我想知道是否可以每次運行,命令都會用新行寫入字符串,如果它是不可能沒有問題,這個功能已經拯救了我的生活:) – sanjuro8998