26

私は現在、CI(Hudson)用の小さなテストスイートを構築しようとしています。他のスクリプトを動的に呼び出し、特定のDIV要素にデータを入力する複雑なスクリプトを作成しました。

私のSeleniumテストは、些細な例で機能します(www.google.comをロードし、q-Elementを検索するなど)。

しかし、Firefox-Driverで動作する複雑なテストを実行しようとすると、PhantomJSインスタンスでクラッシュします。セグメンテーション違反が発生します。

私の質問は、(ヘッドレスで)実行されるHudson-Serverで動作するフロントエンドJSのテストをどのように作成できるかということです。

または、セグメンテーション違反の原因をデバッグする方法はありますか?

4

4 に答える 4

15

Slimer.js は Phantom.js に似ていますが、Webkit ではなく Gecko を使用しています。

http://slimerjs.org/

于 2013-07-15T14:19:15.557 に答える
14

Xvfbを仮想フレームバッファーとして使用する場合(グリッドノードをホストするLinuxマシン上)、ヘッドレスインストールが可能です。これとデフォルトのFirefoxを使用することになりました。

于 2013-02-26T13:18:12.987 に答える
9

Phantom は進化している製品であり、Selenium と統合できるようになったのは比較的最近のことです。そのため、バグに遭遇した可能性があります。ファントムの開発者に報告してみましたか?

  • ファントムの代替案:

    多くはありません。Zombieは私が知っているものの 1 つですが、Phantom は他のどのヘッドレス ブラウザよりも優れています。

    ヘッドレス仮想サーバーを使用して、通常の Web ブラウザーを実行することもできます。(これには、Phantom よりも現実的なテストであるという利点もあります)

  • セレンの代替品:

    Selenium の直接の代替としてSahiを使用できます。ほぼ同じことができますが、動作はまったく異なります。もちろん、テスト スクリプトを書き直す必要があります。

    Phantom はスクリプト化するように設計されているため、実際には Selenium のようなドライバー ツールを使用する必要はまったくありません。直接スクリプトを作成するか、CasperJSなどのツールを使用してテスト スクリプトを作成することができます。

于 2013-02-26T13:36:36.323 に答える