web-dev-qa-db-ja.com

Seleniumテストでのカスタム画面解像度の指定

以下のブログで説明されているように、Seleniumのテスト実行中に画面の解像度を変更できます。 http://blog.testingbot.com/2013/03/15/screen-resolution-option-now-available-for-all-Selenium-tests

以下のコードを試しましたが( " https://saucelabs.com/docs/additional-config "で説明)、指定された解像度を設定していません。これはまだSeleniumでは利用できませんか?

DesiredCapabilities dc=new DesiredCapabilities();    
dc.setCapability("screen-resolution","1280x1024");
10
Srikanth Nakka

Sauce Labs!=セレン

ソースラボでは、この機能を使用してVM=必要な解像度でプロビジョニングします。これは、Selenium自体が認識している機能ではありません。

Seleniumはデスクトップの解像度を変更できません!

特定の解像度に一致するようにSeleniumのブラウザーサイズを変更する場合は、次のようにします。

driver.manage().window().setSize(new Dimension(1024, 768))

上記はOperaドライバーではサポートされていないため、代わりに次のことを行う必要があります。

DesiredCapabilities capabilities = DesiredCapabilities.opera()
capabilities.setCapability("opera.arguments", "-screenwidth 1024 -screenheight 768")

ブラウザーのサイズを設定することは、画面の解像度を設定することと同じではありませんが、すべての意図と目的で要件を満たす必要があります。

22
Ardesco

Seleniumはブラウザー自動化フレームワークであり、その仕事はブラウザーを駆動することであり、システムを自動化することではありません。画面解像度の設定などの機能がSeleniumに実装されることはないと思います。解像度の設定は、ブラウザの自動化とはまったく関係ありません。

なぜ解像度を変更したいのかわかりません...ブラウザウィンドウのサイズを変更するだけではどうでしょうか。これは、レスポンシブデザインのページをテストする場合に実行できることです。

driver.manage().window().setSize(new Dimension(800, 600));
5
JacekM

DesiredCapabilitiesの目的は、テストを実行する場所をグリッドに指示することです。

したがって、指定した解像度でグリッドに接続されたリモートノードがある場合は1280x1024、テストはそのノードで実行されます。他のノードにこの解決策がない場合、テストはそれらのノードで実行されません。

DesiredCapabilitiesで画面解像度を指定しない場合、テストは任意の解像度のノードで実行されます。

Seleniumのこの機能は、テストノードの画面解像度を実際に変更または変更することはありません。テストを実行するノードと実行しないノードをグリッドに指示するだけです。

1
Dingredient

あなたが興味を持っているのは、おそらくWebブラウザのテストフレームワークであるSeleniumではなく、ネイティブのJava=コードを使用することです。

Javaを介して解像度を変更する問題は、StackOverflowの別のスレッドで対処されました。

swing-Javaで画面解像度を変更

なぜあなたがこれをやろうとしているのかについて私は興味がありますが、あなたは上記のことを説明しなかったので、コミュニティからのより良い反応につながるかもしれません。 =)

0
Stephen B.