2012-04-20 51 views
1

我正在为Zend应用程序编写功能测试。我运行它们使用PHPUnit和这个包装:https://github.com/chibimagic/WebDriver-PHP硒测试在执行javascript时随机崩溃

我从本地运行从jar文件的selenium独立服务器(v2.19.0)。我在这个应用程序中使用了很多js和ajax,所以我在FunctionalTestCase类中创建了一个waitForAjax函数,所以我可以等到所有数据都正确加载。它使用$ .active,因为我使用jQuery ajax函数。该功能看起来像这样:

public function waitForAjax($timeout = 10) { 
    sleep(1); 
    for($i = 0 ; $i < $timeout - 1 ; $i++) { 
    $active = $this->getJsResult('return $.active;'); 

    if($active > 0) { 
     sleep(1); 
    }else { 
     break; 
    } 
    } 
} 

功能getJsResult从包装的webdriver执行execute_js_sync,并得到来自硒反应的结果。

我的问题如下:硒随机挂在执行js的网站上。有时它几乎立即返回,但大多数时候它只是停留在执行脚本上。这是从服务器输出的唯一:

11:58:48.386 INFO - Executing: [execute script: return $.active;, []] at URL: /session/1334915841900/execute) 

让我困扰最多的是为什么会发生如此随意?

我真的可以在这里使用一些帮助。

干杯, 马切伊

+0

当你的测试挂Firebug的控制台>错误说什么? – 2012-05-15 19:03:44

回答

0

当我用硒先过,它随机崩溃,我看到它是吃很多RAM和hitted的maxiumum RAM一个应用程序可能有我有,或许这就是我的问题解决了它由开始和每个请求程序查杀,

问候,

Corné