我正在使用:
如果我使用Selenium IDE(firefox插件)创建一个非常简单的测试用例,在 Selenese表格行中有一个命令:
waitForElementPresent | css=div
然后使用Selenium IDE > Options > Format > PHP
功能将该代码转换为PHP。
我得到类似的东西:
<?php
...
class Example extends PHPUnit_Extensions_SeleniumTestCase
{
...
for ($second = 0; ; $second++) {
if ($second >= 60) $this->fail("timeout");
try {
if ($this->isElementPresent("css=div")) break;
} catch (Exception $e) {}
sleep(1);
...
}
我的问题是:
为什么PHP代码以这种错综复杂的方式生成?
我可以将该命令转换为:
<?php
...
class Example extends PHPUnit_Extensions_SeleniumTestCase
{
...
$this->waitForElementPresent("css=div");
...
}
php的后一行将使用父类中的magic方法:PHPUnit_Extensions_SeleniumTestCase::__call($command, $arguments)
这种错综复杂的PHP输出背后的原因是什么?
我问,因为我是一个硒新手,我想知道为什么我不应该只用第二个代码示例(上面)的selenese风格来编写我的方法。
答案 0 :(得分:1)
所有这些都是因为将出现的错误而写的:
$this->waitForElementPresent("css=div");
例如,selenium的代码在很多其他事情中都有超时......