Oreborous icon

Selenium PHP

Oreborous | PRO | 02/02/19 07:15:04 PM UTC | 0 ⭐ | 290 👁️ | Never ⏰ | []
PHP |

1.75 KB

|

None

|

0 👍

/

0 👎

<?php declare(strict_types=1);
 
namespace Tests;
 
use Facebook\WebDriver\Chrome\ChromeDriver;
use Facebook\WebDriver\Chrome\ChromeOptions;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\WebDriverBy;
use Facebook\WebDriver\WebDriverKeys;
use PHPUnit\Framework\TestCase;
 
/*
 
Composer file for this.
 
{
    "require": {
        "phpunit/phpunit": "^8.0",
        "facebook/webdriver": "^1.6"
    }
}
 
 
 */
 
final class SeleniumTest extends TestCase
{
    /** @var \Facebook\WebDriver\WebDriver */
    private static $driver;
 
    public static function setUpBeforeClass(): void
    {
        parent::setUpBeforeClass();
 
        putenv("webdriver.chrome.driver=./drivers/chromedriver");
 
        $options = new ChromeOptions();
        $options->addArguments([
            '--no-sandbox', // Benodigd voor WSL, anders start chrome / chromium niet op.
        ]);
 
        $capabilities = DesiredCapabilities::chrome();
        $capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
 
        self::$driver = ChromeDriver::start($capabilities);
    }
 
    public function testSimpleExample(): void
    {
        self::$driver->get('http://www.google.com');
 
        $this->assertEquals(self::$driver->getTitle(), 'Google');
    }
 
    public function testInputField(): void
    {
        $element = self::$driver->findElement(WebDriverBy::cssSelector('input[type=text]'));
        $element->sendKeys('This is a PHP test' . WebDriverKeys::RETURN_KEY);
 
        $this->assertEquals(self::$driver->getTitle(), 'This is a PHP test - Google zoeken');
    }
 
    public static function tearDownAfterClass(): void
    {
        parent::tearDownAfterClass();
 
        self::$driver->close();
    }
}

Comments