<?php namespace yii\codeception; /** * Represents a web page to test * * Pages extend from this class and declare UI map for this page via * static properties. CSS or XPath allowed. * * Here is an example: * * ```php * public static $usernameField = '#username'; * public static $formSubmitButton = "#mainForm input[type=submit]"; * ``` * * @author Mark Jebri <mark.github@yandex.ru> * @since 2.0 */ abstract class BasePage { /** * @var string include url of current page. This property has to be overwritten by subclasses */ public static $URL = ''; /** * @var \Codeception\AbstractGuy */ protected $guy; public function __construct($I) { $this->guy = $I; } /** * Basic route example for your current URL * You can append any additional parameter to URL * and use it in tests like: EditPage::route('/123-post'); */ public static function route($param) { return static::$URL.$param; } /** * @param $I * @return static */ public static function of($I) { return new static($I); } }