2

オーバーレイ ウィンドウで動作する特定の Selenium テスト セットを実行するときに問題が発生します。問題は、オーバーレイ ウィンドウが表示されたときに Firefox ブラウザー ウィンドウ内に含まれていないことです (オーバーレイの左側が切り取られています)。

奇妙なことに、Visual Studio 2010 で ReSharper を介して MbUnit を使用してローカルでテストを実行すると、テストは問題なくパスし、オーバーレイはブラウザー ウィンドウにカットオフを表示しません (テストの実行中にブラウザー ウィンドウは最大化されません)。ただし、Jenkins ジョブを介して MbUnit を使用してテストを実行すると、オーバーレイの左側が Firefox ブラウザー ウィンドウの左側によって切り取られます (スクリーンショットを添付しようとしましたが、私はここの新しいユーザーであるため、できませんでした)。そうする)。

これが問題となる理由は、クリックする必要がある [アップロード] ボタンが画面外にあるためにアクセスできないためです。テストが失敗したときのエラーは次のとおりです。

System.InvalidOperationException: Element cannot be scrolled into view:[object HTMLDivElement]
Command duration or timeout: 56 milliseconds
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 17:28:14'
System info: os.name: 'Windows Server 2008 R2', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_33'
Driver info: driver.version: RemoteWebDriver

2 つの質問: 1) Jenkins を介してテストを実行すると、オーバーレイが画面外に表示される理由を知っている人はいますか? 2) テストの実行時にブラウザ ウィンドウ内にオーバーレイを強制的に表示する方法を知っている人はいますか?

よろしくお願いします。アダム。

4

2 に答える 2

1

Jenkinsで同じ問題に遭遇しました。コマンドbrowser.driver.manage.window.maximizeは、使用可能な画面サイズに基づいてウィンドウを最大化するだけであることがわかりました。Jenkins のデフォルトの画面サイズは非常に小さいと思います。したがって、この問題を解決するには、画面サイズを手動で指定する必要があります。コードに以下を追加することで問題を解決できます

browser.driver.manage.window.resize_to(1920, 1080)
    maximizeDim = browser.driver.manage.window.size
    puts "screenHeight after maximizing: #{+maximizeDim.height}"
    puts "screenWidth after maximizing: #{+maximizeDim.width}"
于 2015-10-15T11:27:58.013 に答える
1

私はまったく同じ問題に直面しています。解決策: Jenkins でこの問題を解決するには、固定のブラウザー ウィンドウ サイズを設定します。

driver.manage().window().maximize() でブラウザー ウィンドウのサイズを初期化すると、一部の Jenkins サーバーの最大ブラウザー ウィンドウ サイズは、ローカル コンピューターの最大ブラウザー ウィンドウ サイズよりもはるかに小さくなる場合があります。その場合、ローカル コンピューターのブラウザーに表示される一部の要素 (ボタンなど) は、Jenkins サーバーのブラウザーでは表示できません。Jenkins でローカルに渡されたスクリプトが失敗します。テスト用に適切なウィンドウ サイズを初期化する

于 2014-07-23T18:10:20.230 に答える