問題タブ [xvfb]

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 に答える
1452 参照

php - PHP と Xvfb の使用

ヘッドレス サーバーで Firefox を実行して、Web サイトのスクリーン ショットを取得しようとしています。を使用して端末からこれをうまく行うことができます

"DISPLAY=:12 firefox -saveimage http://www.google.com/ ".

問題は、 system("DISPLAY=:12 firefox -saveimage http://www.google.com ");を実行しようとしたときです。動作しません。通常のシェル環境では動かない気がします。私は自分の判断に反して、Apache ユーザーに実際のシェルを提供しました。Apache に su してコマンドを実行すると、すべて正常に動作し、期待どおりに動作しますが、システム コールからは動作しません。どんな洞察も大歓迎です。

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

python - Pythonのサブプロセスモジュールを使用してLinuxプログラムを開始および停止するにはどうすればよいですか?

Seleniumを使用して別のWebサイトをスクリーンスクレイピングするWebアプリを作成しています。この画面スクレイピングは1日に1回しか発生しないため、SeleniumとXvfbを常に実行したままにしたくはありません。

PythonからXvfbとSeleniumを起動し、スクリーンスクレイピングが完了したらそれらを停止する方法を理解しようとしています。

手動で行う場合は、コマンドラインで起動し、を押しCTRL Cて停止します。私はPythonから同じことをしようとしています。

次のようにXvfbを正常に起動できるようです。

しかし、私がそれを終わらせようとしたとき:

次に、(最初のコマンドを繰り返して)再起動しようとすると、すでに実行中であることがわかります。

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

firefox - Firefox 内のサービス ウィンドウを無効にする方法は?

xvfb で Firefox を実行しており、そこから Web ページのスクリーンショットを取得しています。

スクリーンショットを台無しにする可能性のあるリクエストやウィンドウを無効にする簡単で堅牢な方法はありますか? 更新リクエスト、秘密の質問など。

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

flash - xvfb で Flash Player が動作しない

XVFB で Selenium を実行する Firefox (centos 5.5 x64) で Flash Player が動作しない。フラッシュが表示されるはずの場所に黒い画面が表示されます。

32 と 64 の両方のバージョンを試しました。

何か提案できますか?

0 投票する
4 に答える
23463 参照

pdf-generation - wkhtmltopdfコマンドが失敗する

を使用してHTMLファイルをPDFに変換しようとしていますwkhtmltopdf

そのために、Debianボックスにwkhtmltopdfをインストールし、次のコマンドを実行しようとしています。

次のエラーが発生します。

ファイルはに存在し/path/convert.1303714349.4961.html.tmp、権限は正しく設定されています。付加されるパスと何か関係がありfile://ますか?

0 投票する
3 に答える
4844 参照

ruby - 非rootユーザーとしてrubyからXvfb内でSelenium::WebDriver::Firefoxを実行している

ルビースクリプトを使用してヘッドレステストを実行しようとしています。基本的に、ディスプレイ:1でXvfbを実行してから、Watir::Browser.new(:firefox)watir-webdriverを使用して起動します。

これは、スクリプトをrootとして実行する場合にうまく機能します。つまり、x11vncを実行して、スクリプトがブラウザーを実行し、ブラウザーと対話するのを見ることができます。

問題は、Railsアプリからこのrubyスクリプトを呼び出すことができる必要があり、rootとして実行しないようにする必要があることです...通常のユーザーとしてコマンドラインからスクリプトを実行しようとすると、Xvfbが1で起動します。いつものように、しかしWatirはブラウザを起動しません...それは最終的に60秒後にタイムアウトします。VNC経由で接続すると、マウスカーソルで黒い画面が表示されます。

コマンドラインからすべてを実行できます。Xvfbを起動firefox --display=:1してから起動するとブラウザが起動するので、Seleniumの問題である必要があります。

簡単に言うと、Selenium / Webdriverは、スクリプトをrootとして実行しない限り、Xvfb内でブラウザーを起動することを拒否します。

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

debian - X サーバーなしの Debian では wkhtmltopdf が非常に遅い

非常に小さな HTML ファイルを PDF に変換するのに、私のテスト環境 (Windows 7) では 2 秒かかります。本番 Web サーバーでは、同じファイル (Debian) に 193 秒かかります。

Web サーバーはマネージド ホスティング ソリューションで実行されています。彼らは wkhtmltopdf をインストールし、それを機能させるには xvfb-run を使用する必要があると私に言いました:

このコマンドを使用すると単純な PDF を生成するのに 193 秒かかると私が訴えたので、彼らはそれについて何もできないと言っています。本当にそうですか?

編集: どういうわけか、マネージド ホスティングのサポートは、ちょっとした後、これを解決しました (現在は 0.8 秒かかります)。静的な wkhtmltopdf バイナリか何かを再コンパイルした可能性があると思います。xvfb-run なしで wkhtmltopdf を実行するようになりました。

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

node.js - セレングリッドのような機能を備えたLinuxボックスで並列ヘッドレステストを処理するNodeJSパッケージ?

セレンスタンドアロンサーバーで並列テストを実行している認証済みの複数のユーザーを処理する必要があり、nodejsで2つのWebドライバークライアントを検出しました。webdriver-jswd-jsがあります。どちらがよりアクティブで信頼性がありますか?何か経験はありますか?ノードまたはセレンが機能を更新または削除するときに、それらが機能しなくなるのではないかと少し心配しています。

これらのパッケージのいずれも、テストごとに一意の表示番号でXvfbを自動的に開始することについて言及しているとは思いません。では、ブラウザを駆動する前に、シェルコマンドを起動してxvfbを実行しますか?

次のプロセスは、私がnodejsで構築しようとしているものです(基本的にはGrid 2に似ていますが、実行中のテストの継続的インテグレーションを目的としたnodejsを目的としています)、次の部分のパッケージまたは提案を探します。

  1. まず、永続的な双方向接続(WebSocketまたはHTTP 1.1)を使用してユーザーを認証します

  2. 使用可能なハードウェアノードでユーザーから実行を要求されたテストの開始/キュー(Linuxボックスをさらに追加するため、「グリッド」全体に並列テストを分散するためのパッケージが必要です)

  3. 実行中のSeleniumブラウザーのテストを監視し、クライアントのステータス更新を送信します(例:実行中/停止中)

  4. ユーザーによって提出されたテストは、将来または継続的インテグレーション(couchdbまたはmysql)のために永続的でアクセス可能である必要があります

  5. 継続的に実行されるジョブのスケジューリング(例:設定された時間間隔ごとに実行)。

nodejsは少しやり過ぎですか?裏側だけにJavaに焦点を当てるべきですか?

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

java - セレングリッド2は、xvfbまたはxvncを使用してヘッドレスで継続的インテグレーションを実現しますか?

したがって、グリッド2を使用して、SeleniumRCが開始するたびにxvfbまたはxvncを起動するための構成ファイルがあります。HubとSeleniumRCは、すでに別々のLinuxボックスにインストールされています。

さらに、RCで実行されているセレンテストとクライアント(Javaクライアントソフトウェア)の間に双方向通信を実装する方法はありますか?たとえば、ページに要素が見つからないためにテストが失敗した場合、クライアントに通知する必要があり、クライアントは正しい要素を提供できます。

したがって、Selenium Webドライバーのテストは停止しないでください。代わりに、正しい入力またはクライアントがテストを終了するまで待機してください。Webアプリケーションのすべてのバリエーションが考慮されていることを確認するためのフィードバックサイクルのようなものです。例)特定のページでランダムに分割されるxpathに依存する、ランダムに生成されたIDを持つフォームボタン。

セレングリッド2がrcを起動する定期的な時間間隔を指定することで継続的インテグレーションを実現することは可能ですか?

つまり、JettyサーバーとしてもWebドライバーテストを拡張する必要がありますか?またはNetty?代わりにセレンWebサービスを開始しますか?

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

x11 - Xvfb ディスプレイのサイズ変更

簡単な質問: Xvfb ディスプレイのサイズを変更する方法はありますか?

RandR で試してみましたが、RandR 拡張機能は Xvfb でサポートされていないようです。画面のサイズを変更する他の方法はありますか?

ご協力いただきありがとうございます!