tzander / page-factory
适用于Selenium2的PHP页面工厂
dev-master
2014-07-03 06:23 UTC
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2024-09-28 13:35:39 UTC
README
支持PHP与Selenium2的PageObject模式
安装
使用Composer安装
{ "require": { "tzander/page-factory": "dev-master" } }
示例
您需要包含Autoload.php并创建一个页面类。
require_once __DIR__ . '/library/Autoload.php'; class BingSearchPage { /** * @var PHPUnit_Extensions_Selenium2TestCase_Element */ public $sb_form_q; public function search() { $this->sb_form_q->value('selenium'); $this->sb_form_q->submit(); return PageFactory::initElements($this->getTestCase(), 'SearchResultPage'); } }
属性必须是公开的,并且可以是元素的名字或id属性。
现在为了返回一个初始化的对象,我们需要执行以下操作
class SearchTest{ public function shouldfindSelenium(){ $page = PageFactory::initElements($this, 'BingSearchPage'); $resultPage = $page->search(); $this->assertInstanceOf('SearchResultPage', $resultPage); } }
使用注解
您也可以使用@find注解来定位元素。
/** * @find byXpath='a[@class=test]' */ public $link;
或以下任一find方法
byId, byName, byXpath, byCssSelector, byClassName。