テストケースの記録と再生にセレン IDE を使用しています。この間、いくつかの値を変数に保存しました。これらの変数の値を新しいファイルにロード/書き込みする必要があります。どうすればよいですか? 出来ますか ?
7 に答える
It's not possible using the Selenium IDE, but you can store using Selenium RC or Webdriver (Junit or Nunit).
それは間違いなく可能です。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」のような別の関数を追加するだけです
このスクリプトを Selenium-IDE に追加するには、次の手順に従います。
- ユーザー拡張機能を作成し、user-extensions.js として保存します。この名前は技術的には必要ありませんが、一貫性を保つことをお勧めします。
- Firefox を開き、Selenium-IDE を開きます。
- ツール、オプションをクリック
- Selenium Core Extensions で、Browse をクリックしてユーザー拡張機能を見つけます。js ファイル。[OK] をクリックします。
- ユーザー拡張機能はまだロードされていないため、Selenium-IDE を閉じて再起動する必要があります。
- 空のテストで新しいコマンドを作成すると、ユーザー拡張機能が [コマンド] ドロップダウンのオプションになるはずです。
セレンIDEがあなたがやろうとしていることを達成するのに十分であるかどうかはわかりませんが、記録されたテストケースをJavaなどの言語にエクスポートでき、エクスポートされたコードを簡単に変更して、保存した変数を任意のファイルに書き込むことができますJavaなどの言語の組み込み機能を使用します。
ここで、CSVファイルから変数を読み取る方法の答えを見つけることができます(拡張子としてセレンIDEオプションに.jsファイルを配置する必要があり、そのページには使用方法の例もあります)
Selenium IDE を使用することはできません。ファイルへの読み取り/書き込み操作を行う言語をコーディングできる Selenium webdriver を使用する必要があります。
storeEval コマンドを使用してみてください。Java スクリプトのスニペットを評価し、http://www.tek-tips.com/viewthread.cfm?qid=1171273 に投稿されたヒントを参照してください。
結果を教えてください。-ありがとう