PHPackages                             zzctmac/flwt - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. zzctmac/flwt

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

zzctmac/flwt
============

1.0.7(9y ago)16Apache-2.0PHP

Since Feb 19Pushed 9y ago1 watchersCompare

[ Source](https://github.com/zzctmac/flwt)[ Packagist](https://packagist.org/packages/zzctmac/flwt)[ RSS](/packages/zzctmac-flwt/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (3)Versions (9)Used By (0)

Framework L Web Test
====================

[](#framework-l-web-test)

**基于[webdriver](https://github.com/facebook/php-webdriver)的web测试框架**

使用步骤
----

[](#使用步骤)

### 定义页面

[](#定义页面)

eg:

```
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](http://docs.emmet.io/)来表示。`urlPattern` 表示该页面url的格式。

### 初始化等预备工作

[](#初始化等预备工作)

eg:

```
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:

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

### 使用phpunit进行测试

[](#使用phpunit进行测试)

eg:

```
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)
-------------

[](#api-介绍-todo)

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

8

Last Release

3408d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/56a725e6e5e78e23d986c0866b6d9f0e55683d1d6c0314d4adad00ba585a8aac?d=identicon)[zzctmac](/maintainers/zzctmac)

---

Top Contributors

[![zzctmac](https://avatars.githubusercontent.com/u/4269638?v=4)](https://github.com/zzctmac "zzctmac (36 commits)")

### Embed Badge

![Health badge](/badges/zzctmac-flwt/health.svg)

```
[![Health](https://phpackages.com/badges/zzctmac-flwt/health.svg)](https://phpackages.com/packages/zzctmac-flwt)
```

###  Alternatives

[ec-europa/toolkit

Toolkit packaged for Drupal projects based on Robo.

39250.0k28](/packages/ec-europa-toolkit)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
