Oreborous

Selenium PHP

Feb 2nd, 2019
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.75 KB | None | 0 0
  1. <?php declare(strict_types=1);
  2.  
  3. namespace Tests;
  4.  
  5. use Facebook\WebDriver\Chrome\ChromeDriver;
  6. use Facebook\WebDriver\Chrome\ChromeOptions;
  7. use Facebook\WebDriver\Remote\DesiredCapabilities;
  8. use Facebook\WebDriver\WebDriverBy;
  9. use Facebook\WebDriver\WebDriverKeys;
  10. use PHPUnit\Framework\TestCase;
  11.  
  12. /*
  13.  
  14. Composer file for this.
  15.  
  16. {
  17.     "require": {
  18.         "phpunit/phpunit": "^8.0",
  19.         "facebook/webdriver": "^1.6"
  20.     }
  21. }
  22.  
  23.  
  24.  */
  25.  
  26. final class SeleniumTest extends TestCase
  27. {
  28.     /** @var \Facebook\WebDriver\WebDriver */
  29.     private static $driver;
  30.  
  31.     public static function setUpBeforeClass(): void
  32.     {
  33.         parent::setUpBeforeClass();
  34.  
  35.         putenv("webdriver.chrome.driver=./drivers/chromedriver");
  36.  
  37.         $options = new ChromeOptions();
  38.         $options->addArguments([
  39.             '--no-sandbox', // Benodigd voor WSL, anders start chrome / chromium niet op.
  40.         ]);
  41.  
  42.         $capabilities = DesiredCapabilities::chrome();
  43.         $capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
  44.  
  45.         self::$driver = ChromeDriver::start($capabilities);
  46.     }
  47.  
  48.     public function testSimpleExample(): void
  49.     {
  50.         self::$driver->get('http://www.google.com');
  51.  
  52.         $this->assertEquals(self::$driver->getTitle(), 'Google');
  53.     }
  54.  
  55.     public function testInputField(): void
  56.     {
  57.         $element = self::$driver->findElement(WebDriverBy::cssSelector('input[type=text]'));
  58.         $element->sendKeys('This is a PHP test' . WebDriverKeys::RETURN_KEY);
  59.  
  60.         $this->assertEquals(self::$driver->getTitle(), 'This is a PHP test - Google zoeken');
  61.     }
  62.  
  63.     public static function tearDownAfterClass(): void
  64.     {
  65.         parent::tearDownAfterClass();
  66.  
  67.         self::$driver->close();
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment