1

次の Web サイトの Day01 - ビデオ (JUnit を使用) を再生しようとしています。 http://www.itelearn.com/live-training/security-testing-live-training 私が達成しようとしているのは、ビデオを再生した後、ビデオが適切に再生されていることを証明するためにスクリーン ショットを撮ることです。Day01 ビデオをクリックすると、新しいウィンドウが開きます。コードを確認すると、iFrame が使用されていることがわかりました。このビデオ ウィンドウを閉じることはできますが、このビデオを再生/一時停止することはできません。

ビデオを閉じるには、コードを使用しました-- WebDriverWait wait = new WebDriverWait(driver, 20); wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xPath))).click();

私はテストに慣れていないので、助けてください。

4

3 に答える 3

2

それで、iframeに切り替えましたか?

次のテストされていない Java コードを試してください。ここでのロジックは単純であることに注意してください。xpath または css セレクターで iframe 要素を見つけ、それに切り替えてクリックします。ただし、プレーヤーの自動化はそれほど簡単ではなく、安定しているわけではありません。フィードバックをお寄せください。

WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement playerIframe = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#sb-player iframe")));
driver.switchTo().frame(playerIframe);

// make sure you have html5 video loaded, instead of flash
// otherwise Selenium won't find a thing
driver.findElement(By.cssSelector("svg.ytp-cued-icon")).click();

デフォルトで HTML5 をロードするには、このページを参照するか、Selenium の起動時に YouTube 用の拡張HTML5 ビデオをロードしてください。

于 2013-07-13T07:35:48.837 に答える