您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > PHPUnit
phpunit常见问题分析
作者:网络转载 发布时间:[ 2013/12/27 9:43:47 ] 推荐标签:开发 客户端

根本的解决方法:

      $this->waitForCondition("selenium.browserbot.getUserWindow().jQuery.active == 0", "3000");       //此处3000,即限定的超时时间timeout。

       $this->click("css=input[type=submit]");

 

解释waitForCondition用法:

waitForCondition(JavaScriptSnippet,time)

-在限定时间内,等待一段JavaScript.代码返回true值,超时则停止等待

   其中"selenium.browserbot.getUserWindow().jQuery.active == 0"这是一段javascript语句,

 意思:检查得到的窗体里AJAX的活动数量为0时,则为0即无AJAX活动了,则为真,为真可以继续向下运行。反之,在限定的timeout 3秒时间内,活动数仍不为0,则会报错。

常见的框架:

jQuery   : “jQuery.active”

Prototype: “Ajax.activeRequestCount”

Dojo    : “dojo.io.XMLHTTPTransport.inFlight.length

我们用的是jQuery框架,即写成jQuery.actiive

3000是3秒。

 

不正确的解决方法:

for ($second = 0; ; $second++) {

           if ($second >= 60) $this->fail("timeout");

            try {

                if ($this->isElementPresent("css=input[type=submit]")) break;

            } catch (Exception $e) {}

           sleep(1);

      }

此处用的方法:waitForElementPresent(locator,variableName)验证指定元素在页面上。

此方法解决AJAX错误时无效。其检验元素的方法,可解决javascript的问题。常见问题4中会详解。

 

常见问题2:服务器连接不上。

解决方法:目前我们服务器上同时只能边接两台机器。所以,这儿的解决方法,只能限于两台哦。

上一页12345下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd