无法使用多个方法参数调用命令

时间:2013-10-14 15:46:24

标签: php unit-testing selenium phpunit

每当我尝试使用其中一个基本的PHPUnit Selenium断言时,测试会出错并显示以下消息:

Exception: You cannot call a command with multiple method arguments.

http://phpunit.de/manual/3.7/en/selenium.html上,它显示用法为:

void assertElementValueEquals(string $locator, string $text)

当我用

打电话时
$this->assertElementValueEquals( 'id=date_1_formatted', '2013-01-01' );

每次测试都会产生上述错误,即使同样的格式似乎适用于其他问题,例如问题Using PHPUnit with Selenium, how can I test that an element contains exactly something?

2 个答案:

答案 0 :(得分:3)

Selenium2TestCase 中未实现

assertElementValueEquals 。在你的链接上提到了 SeleniumTestCase (Selenium RC版本)。

此外,您在$ this-> byXPath中使用了正确的结构,例如https://github.com/sebastianbergmann/phpunit-selenium/blob/master/Tests/Selenium2TestCaseTest.php

您也可以使用 $ this-> byId()

$element = $this->byId('date_1_formatted');
$this->assertEquals('2013-01-01', $element->value());

P上。 S。:如果您熟悉Selenium IDE,可以试试这个command line tool

答案 1 :(得分:0)

也走进了这个,在我的情况下,这是我自己的自己的自定义方法,所以我认为这是一条线路。
事实证明我正在使用一个不同的"缓冲区"测试类和phpunit之间的类比我想象的要多。但是因为它使用__call()一个批次,它给了↑那个错误而不是"未定义的方法"。