問題タブ [ghostdriver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3413 参照

jenkins - Selenium Webdriver テスト用の Jenkins と phantomjs の統合

セレン テスト スクリプトを実行するために、jenkins を phantomjs と統合しています。Phantomjs は jenkins サーバーにインストールされており、ゴースト ドライバーはポート 8090 で実行されています。しかし、それでもテストはスキップされ、例外がスローされます。

ドライバー実行可能ファイルへのパスは、phantomjs.binary.path 機能/システム プロパティ/PATH 変数によって設定する必要があります。詳細については、https://github.com/ariya/phantomjs/wikiを参照してください。最新版はhttp://phantomjs.org/download.htmlからダウンロードできます 」

私のジェンキンスは centos で動作します。

私のコードは以下のようになります

0 投票する
5 に答える
29166 参照

python - セレンサーバーから要素IDを持つDOMツリー全体をダンプする必要があります

Web自動化テストにpython seleniumを使用しています。自動化の重要な部分は、HTML ページでユーザーに表示されるオブジェクトの適切な要素を見つけることです。次の API はほとんどの場合に機能しますが、常に機能するとは限りません。

HTMLページが複雑すぎる場合、domツリーを検索したい。SeleniumサーバーにDOM全体をシリアライズするように依頼することが可能かどうか疑問に思います(webdriverサーバーを介してアクションを実行するために使用できる要素IDを使用)。クライアント側 (python スクリプト) は独自の検索アルゴリズムを実行して、適切な要素を見つけることができます。

python selenium は、html ページ全体を取得できることに注意してください。

ただし、これを解析しても、セレンサーバーの観点からは内部要素 ID が得られないため、役に立ちません。

EDIT1 : より明確にするために言い換えます(@alecxeに感謝します):ここで必要なのは、セレンサーバー内のすべてのDOM要素(DOM構造が保持された状態)のシリアル化された表現です。このシリアル化された表現はクライアント側に送信できます(独自の検索を実行できる Python Selenium テスト アプリ)。

0 投票する
0 に答える
253 参照

python - ファイルが 20000 バイトを超える場合、PhantomJS ファイルのアップロードが失敗する

PhantomJS を Selenium で使用してファイルをアップロードするときに、非常に奇妙な問題を発見しました。小さなファイルはアップロードできますが、大きなファイルはアップロードできないことに気付きました。

そこで、バイナリ検索を実行して、どのファイルサイズで機能しなくなるかを調べました。これにより、正確に 20000 バイトを超えるすべてのファイルがアップロードに失敗することが明らかになりました。2 の累乗ではないので、この制限は、何らかの理由で、phantomJS、Ghostdriver、または Selenium のスタック全体の中で誰かによって設定されたと思います。私はこの問題を突き止めるのに何時間も費やしました。誰かがこの問題に遭遇したか、次にどこを見るべきかの手がかりを持っていますか?

0 投票する
1 に答える
728 参照

node.js - WebdriverJS/IO & PhantomJS - 属性セレクターを持つクリック ハンドラーが PhantomJS で機能しない

現在、WebdriverJS と PhantomJS を使用したアプリケーション テスト スイートの作成に取り組んでいます。テストが確実に機能するように、最初に Chrome 経由でテストを実行すると、すべて正常に機能します。ただし、Chrome を PhantomJS に交換すると、テストが中断されます。

この質問 - WebDriver PhantomJS Unable to find element, but works fine with Firefox - 非常によく似た問題の概要を説明しているように見えますが、同封の解決策は役に立たないようです。

Chrome では機能するが PhantomJS では機能しないタイプの大まかな例を次に示します。

PhantomJS で実行するときは、明らかに最初に WebdriverJS オプションを変更します。

しかし、テストを実行して logLevel を「verbose」に設定すると、次のようなエラー メッセージが表示されます。

「[data-id='1568911']」や「#foo」などの一般的な CSS2+ セレクターが、WebdriverJS を介して PhantomJS で機能しないのはなぜですか? それは PhantomJS のバグですか、WebdriverJS のバグですか、それとも私の実装での間違いですか?