2017 © Pedro Peláez
 

library flwt

image

zzctmac/flwt

  • Wednesday, March 1, 2017
  • by zzctmac
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 9 Versions
  • 0 % Grown

The README.md

Framework L Web Test

基于webdriver的web测试框架, (*1)

使用步骤

定义页面

eg:, (*2)

class Login extends \flwt\wpd\Page
{
    protected $thumb = "form#login_form>input#username+input#password+input#submitBtn";
    protected $urlPattern = "/login.html";
}

class Valid extends \flwt\wpd\Page
{
    protected $thumb = "h1#tip";
    protected $urlPattern = "/valid.php";
}

继承Page的子类中的thumb属性用来展示页面元素的缩略图,使用Emmet来表示。urlPattern 表示该页面url的格式。, (*3)

初始化等预备工作

eg:, (*4)


use Facebook\WebDriver\Remote\DesiredCapabilities; use Facebook\WebDriver\Remote\RemoteWebDriver; /** * 创建webdriver实例 * 将用到的Page类添加到PageClassManager(方便跳转到新页面自动找到对应的Page类) * etc * 可以在phpunit中定义的bootstrap.php 做这些预备工作 **/ $host = 'http://localhost:4444/wd/hub'; // this is the default $capabilities = DesiredCapabilities::chrome(); $driver = RemoteWebDriver::create($host, $capabilities, 5000); \flwt\UrlHandler::setPrefix("http://localhost"); \flwt\Resource::create($driver); PageClassManager::addClass(Login::class); PageClassManager::addClass(Valid::class);

打开页面并模拟用户操作

eg:, (*5)

\dfb\Login::openNow();
\flwt\query\Emmet::get('#username')->input('username');
$alert = \flwt\query\Emmet::get('#password')->input('password')->submit(1);
$alert->click();

使用phpunit进行测试

eg:, (*6)


class PageTest extends PHPUnit_Framework_TestCase { public function submitDataProvider() { $data = array( array('u1', 'p1', 'success'), array('u2', 'p2', 'failed') ); return $data; } /** * @dataProvider submitDataProvider * @param $name * @param $password * @param $expected */ public function test_submit($name, $password, $expected) { Login::openNow(); \flwt\query\Emmet::get('#username')->input($name); \flwt\query\Emmet::get('#password')->input($password)->submit(); $tip = \flwt\query\Emmet::get('#tip'); $this->assertEquals($expected, $tip->getText()); } }

api 介绍 (TODO)

The Versions

01/03 2017

dev-master

9999999-dev

  Sources   Download

Apache-2.0

The Requires

 

by zzc

01/03 2017
01/03 2017
24/02 2017
24/02 2017
22/02 2017
19/02 2017
19/02 2017
19/02 2017