您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > PHPUnit
phpunit常見問題分析
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/27 9:43:47 ] 推薦標(biāo)簽:開發(fā) 客戶端

根本的解決方法:

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

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

 

解釋waitForCondition用法:

waitForCondition(JavaScriptSnippet,time)

-在限定時間內(nèi),等待一段JavaScript.代碼返回true值,超時則停止等待

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

 意思:檢查得到的窗體里AJAX的活動數(shù)量為0時,則為0即無AJAX活動了,則為真,為真可以繼續(xù)向下運行。反之,在限定的timeout 3秒時間內(nèi),活動數(shù)仍不為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:服務(wù)器連接不上。

解決方法:目前我們服務(wù)器上同時只能邊接兩臺機器。所以,這兒的解決方法,只能限于兩臺哦。

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd