【问题标题】:assertTitle fails on Selenium + PHPUnit在 Selenium + PHPUnit 上 assertTitle 失败
【发布时间】:2014-02-24 02:15:39
【问题描述】:

我正在尝试这样一个非常简单的测试:

public function index()
{
    $this->open('');
    $this->assertTitle(Yii::app()->name);
}

使用适当的固定装置:

'accueil' => array(
    'id' => 1,
    'title' => Yii::app()->name,
    'name' => "accueil",
    [etc...]
),

但是当我运行功能测试时,assertTitle 方法失败了:

命令失败:assertTitle('comptabilite-personnelle.net (dev)') 无法断言“comptabilite-personnelle.net (dev)”匹配 PCRE 模式“/^comptabilite-personnelle.net (dev)$/”。

OTOH,以下代码不会失败:

夹具:

'accueil' => array(
    'id' => 1,
    'title' => 'whatever',
    'name' => "accueil",
    [etc...]
),

断言:

    $this->assertTitle('whatever');

欢迎任何关于这种行为的想法!

【问题讨论】:

  • 在这些情况下Yii::app()->name 的值是多少? assertTitlestring-match pattern 作为参数。默认情况下,它被视为 glob。尝试在前面加上exact:

标签: selenium yii phpunit pcre


【解决方案1】:

如果您只想检查您的页面标题是否包含您的应用名称而不想检查您的页面标题是否与您的应用名称完全相同,您需要这样做:

$this->assertTitle('regexp:.*' . Yii::app()->name . '.*');

【讨论】:

    猜你喜欢
    • 2012-11-16
    • 2014-08-28
    • 2015-06-19
    • 2016-12-31
    • 2017-12-22
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多