PHPUnit和Selenium并从元素问题中获取价值

时间:2014-07-03 14:22:11

标签: php testing selenium phpunit

所以我开始使用 PHPUnit Selenium 2

public function testHasALoginForm()
{
    $this->url('/login');

    $username = $this->byName('username');
    $password = $this->byName('password');

    $this->assertEquals('', $username->value());
    $this->assertEquals('', $password->value());
}

只有当我从元素中调用value()方法并且最终得到时才会发生这种情况:

1) test\view\LoginTest::testHasALoginForm
PHPUnit_Extensions_Selenium2TestCase_WebDriverException: GET /session/fdcf0669-1d42-4a35-8e7a-29dec4a0f1e4/element/0/value
Build info: version: '2.42.1', revision: '68b415a', time: '2014-05-29 16:16:49'
System info: host: 'Something.local', ip: '192.168.1.108', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.3', java.version: '1.8.0_05'
Driver info: driver.version: unknown

我做错了吗?

2 个答案:

答案 0 :(得分:4)

在selenium v​​2.42.0中删除了 - > value()方法。目前推荐的解决方案是使用$element->attribute('value')

@see https://code.google.com/p/selenium/source/detail?r=953007b48e83f90450f3e41b11ec31e2928f1605

答案 1 :(得分:1)

嗨我用大致相同的代码得到完全相同的错误。我正在使用相同版本的硒。 但是,在使用2.39.0版本时,我没有收到此错误。 因此,它似乎是回归或弃用。