0

重複の可能性:
セレンで有用なテスト関数を含む外部 js ファイルをロードする

Selenium RC を使用してシステムのパフォーマンス テストを行い、チームの他のメンバーが理解できるように Javascript でテストを作成する必要があります。Sencha Ext ライブラリがページ上の特定のコントロールにアクセスできるようにする必要があるため、外部 js ライブラリを定義できるようにする必要があります。私のセレンのテストでは、スクリプトタグをページに書き込む通常の方法を使用してライブラリを定義することはできません。ドキュメントは未定義です。また、 addScript のような他のセレンコマンドを使用しようとしても、あまり役に立たないようです。

Seleniumに外部jsライブラリを含めるより良い方法はありますか? 私はローカルにオープンソースの Sencha Ext ライブラリを持っているので、どこにでも置くことができます。

ソーダから参照としてライブラリをロードすることはできますか? 誰かが Selenium スタンドアロン RC jar ファイルを変更しているのを見たことがありますが、それは私が理解できる方法ではありません。私はここからどこへ行くべきか迷っています。

ありがとう、

4

1 に答える 1

0

さて、js を次のように Selenium テストから実行できるという観点からは、次のようになります。

WebDriver driver;
// create driver, i.e. driver = new FirefoxDriver();
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("alert('Hello from Selenium!');");

したがって、実際には、selenium API を介して js lib を含める必要があります。IMHOあなたのソリューションは次のようになります:

 WebDriver driver;
    // create driver, i.e. driver = new FirefoxDriver();
    JavascriptExecutor js = (JavascriptExecutor) driver;

//Load an external js file containing useful test functions in selenium
js.executeScript("var doc = this.browserbot.getCurrentWindow().document; var scriptTag = doc.createElement("script"); scriptTag.type = "text/javascript" scriptTag.src = 'your_script_URL_goes_here'; doc.body.appendChild(scriptTag)");

そのようにして、必要な js ライブラリを含めました。同様の方法で、この外部 js ライブラリに含まれる関数を呼び出すことができます。

この投稿はあなたに役立つかもしれません。この質問も調べてください。よろしく。

于 2012-10-15T15:14:41.933 に答える