簡體   English   中英

如何在 PHP 中無頭運行 Selenium?

[英]How do you run Selenium headless in PHP?

我們想在我們的構建腳本中運行我們的 Selenium 測試以及我們的其他單元測試,但鑒於構建運行在作為服務運行的 Jenkins 上,因此測試需要無頭運行。 我們的 Selenium 測試是用 PHP 編寫的,到目前為止,我所看到的一切似乎都適用於 JavaScript 或 ZA374F5F352431B76B66。

我們有什么方法可以運行我們的 PHP Selenium 測試無頭(最好使用與不運行無頭時相同的驅動程序,以便我們可以檢測特定瀏覽器的問題)?

這在 php-webdriver 1.11.0 (2021-05-03) 中得到了改進。

啟動無頭 Chrome

$chromeOptions = new ChromeOptions();
$chromeOptions->addArguments(['--headless']);

$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY_W3C, $chromeOptions);

// Start the browser with $capabilities
// A) When using RemoteWebDriver::create()
$driver = RemoteWebDriver::create($serverUrl, $capabilities);
// B) When using ChromeDriver::start to start local Chromedriver
$driver = ChromeDriver::start($capabilities);

有關更多 Chrome 示例,請參閱 php-webdriver wiki 文章。

啟動無頭 Firefox

$firefoxOptions = new FirefoxOptions();
$firefoxOptions->addArguments(['-headless']);

$capabilities = DesiredCapabilities::firefox();
$capabilities->setCapability(FirefoxOptions::CAPABILITY, $firefoxOptions);

// Start the browser with $capabilities
// A) When using RemoteWebDriver::create()
$driver = RemoteWebDriver::create($serverUrl, $capabilities);
// B) When using FirefoxDriver::start to start local Geckodriver
$driver = FirefoxDriver::start($capabilities);

有關更多 Firefox 示例,請參閱 php-webdriver wiki 文章。

在 php-webdriver 文檔中找到了這個:

use Facebook\WebDriver\Remote\DesiredCapabilities;

$desiredCapabilities = DesiredCapabilities::firefox();
    .
    .
    .
// Run headless firefox
$desiredCapabilities->setCapability('moz:firefoxOptions', ['args' => ['-headless']]);

$driver = RemoteWebDriver::create($host, $desiredCapabilities);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM