3

理想的には、画像ビューアでスクリーンショットを自動的に開くこともできます。

4

2 に答える 2

17

編集:アプリを開く際のヒントを教えてくれたビショップに感謝します。ただし、Windowsでそれを行う方法はまだわかりません。

/**
 * This works for Selenium and other real browsers that support screenshots.
 *
 * @Then /^show me a screenshot$/
 */
public function show_me_a_screenshot() {

    $image_data = $this->getSession()->getDriver()->getScreenshot();
    $file_and_path = '/tmp/behat_screenshot.jpg';
    file_put_contents($file_and_path, $image_data);

    if (PHP_OS === "Darwin" && PHP_SAPI === "cli") {
        exec('open -a "Preview.app" ' . $file_and_path);
    }

}

/**
 * This works for the Goutte driver and I assume other HTML-only ones.
 *
 * @Then /^show me the HTML page$/
 */
public function show_me_the_html_page_in_the_browser() {

    $html_data = $this->getSession()->getDriver()->getContent();
    $file_and_path = '/tmp/behat_page.html';
    file_put_contents($file_and_path, $html_data);

    if (PHP_OS === "Darwin" && PHP_SAPI === "cli") {
        exec('open -a "Safari.app" ' . $file_and_path);
    };
}
于 2014-03-25T10:04:41.003 に答える