每当我尝试使用其中一个基本的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?
答案 0 :(得分:3)
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()一个批次,它给了↑那个错误而不是"未定义的方法"。