Bri*_*ian 1 php selenium selenium-rc
我正在努力让Selenium RC启动并运行在我的网站上进行一些自动化测试.我发现我一直想验证我没有破坏任何功能,手动测试开始变得无聊.
但是,我似乎无法让Selenium RC与WaitForPageToLoad一起使用.
我尝试复制他们在selenium文档中给出的基本示例,但测试总是卡在:$ this-> waitForPageToLoad("30000"); 我可以看到它在窗口中显示的距离很远,并且页面似乎已正确加载(我们在谷歌搜索结果页面).但测试失败并超时.
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
/**
* Description of Test
*
* @author brian
*/
class Test extends PHPUnit_Extensions_SeleniumTestCase {
function setUp() {
$this->setBrowser("*safari");
$this->setBrowserUrl("http://www.google.com/");
}
function testMyTestCase() {
$this->open("/");
$this->type("q", "selenium rc");
$this->click("btnG");
$this->waitForPageToLoad("30000");
$this->assertTrue($this->isTextPresent("Results * for selenium rc"));
}
}
Run Code Online (Sandbox Code Playgroud)
更有趣的是,如果我在等待时刷新页面,一切都会按预期继续.因此看起来似乎waitForPageToLoad没有意识到页面已经加载.
Selenium RC文档中的示例已过时.谷歌改变了他们的主页不久前的工作方式,它不再是一个简单的HTML页面.按下搜索按钮现在是一个AJAX类型的操作,它发送搜索请求并获取由页面中的JavaScript代码处理的JSON响应.因此页面永远不会被重新加载,而WaitForPageToLoad()最终会超时.
| 归档时间: |
|
| 查看次数: |
3017 次 |
| 最近记录: |