4

Selenium 3.01windows server 2012 R2に使用しています。 テストはwebdriverを介してリモートで実行されています。ノードサービスでのセレンの解像度の変更

問題は、ノードがサービスとして実行され、解像度が小さすぎてテストが失敗し続ける場合です。

ログイン時にプロセスとしてノードを実行すると、解像度がはるかに優れているため、すべてが良好です。

障害発生時にスナップをとると大きな違いが見えます。

どのように解像度を変更できますか?サーバの解像度が小さいため

Driver.set_windowsize(x,y) 

それとも

Driver.maximize_window() 

が動作していません。

アイデア? ありがとうございました

+0

はあなたが、結果として、あなたのテストになっている障害を提供することができます - 彼らは、エラー「見えない要素」であり? –

+0

はいこれはエラーです。サイトには最低限の解像度が必要です。それは完全に反応しません。 –

+0

OK - 私はこの問題を自分で持ちましたが、私が見つけた唯一の回避策は、scrollIntoViewを使用してセレンと要素とのやりとりを変更することでした。私はセレンが解像度をコントロールできるとは思わない。 –

答えて

3

私はこの問題を解決しました。 VMware ESX上で仮想マシンを使用しています。

まず最初に、コンソールからログインして解像度を変更しようとすると、最大解像度が予想よりもかなり小さいことに気付きました。

最大解像度を最大にするため、私はこれに続きましたVMware KB

  1. 移動:

    さて、レジストリ値を編集して、デフォルトの解像度を変更

    HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{Address of primary video card}\0000\

  2. あなたのX軸であるDefaultSettings.XResolutionを探します。あなたが望むものをDecimalとして編集します。 IE 1152

  3. を検索します。それがあなたのY軸です。あなたが望むものに小数点として編集します。 IE 863.

  4. 再起動すると完了です。

また、Allow service to interact with desktopとローカルシステムとしてごSelenium node実行してください。

今、あなたはあなたのコードを経由してクロムウィンドウの解像度を変更することがあります。

Driver.set_windowsize(x,y) 
0

サービス制限と考えて、私たちはこのような問題を抱えていました。解決策はコマンドラインからノードを開始することでした。コマンドラインから

  • 接続
  • リモートマシンに開始ノード
  • 閉じる接続(ないログアウトすることによって、しかし、「X」ボタンをクリックすることにより)

あなたを残しておきます。この方法セッションがハングしている場合、このコマンドを自動的に実行するには、スタートアップにバッチファイルを追加してみてください。

+0

これは回避策ですが、私はサービスで動作するソリューションを探しています。ありがとうございました! –

関連する問題