2016-09-25 11 views
1

私は以下のコードで分度器でタイムアウトの問題を解決するのに苦労しています。分度器:失敗:3056ms後にタイムアウトしました

dashboardPage.ts

import { browser, by, element } from 'protractor/globals'; 

class DashboardPage { 

supportButton = element.all(by.id('support-dashboard-btn')).first(); 


supportClick(): void { 
     this.supportButton.click(); 
    } 

} 

export = DashboardPage; 

以下のようないくつかのリンクを経てsupportPage.spe.ts

beforeEach(() => { 
     loginPage.getPage(); 

     loginPage.fillEmail(data.users[0].email); 
     loginPage.fillPassword(data.users[0].password); 
     loginPage.loginClick(); 
     browser.waitForAngular(); 



     browser.wait(EC.visibilityOf(dashboardPage.supportButton), 3000).then(function() {   *** step Failed: Wait timed out after 3056ms 
     dashboardPage.supportClick(); 
    }), function (error) { 
    expect(true).toBe(false); 
     }; 

。残念ながら、私にとっては何も働かなかった。有効なエラーザッツ

How to have protractor reliable results?

Protractor: wait method isn't work

Error: 

    Failed: Wait timed out after 3056ms 
     Stack: 
     Error: Wait timed out after 3056ms 
      at C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2364:22 
      at ManagedPromise.invokeCallback_ (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1379:14) 
      at TaskQueue.execute_ (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2913:14) 
      at TaskQueue.executeNext_ (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2896:21) 
      at asyncRun (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2775:27) 
      at C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:639:7 
      at process._tickCallback (internal/process/next_tick.js:103:7) 
     From: Task: <anonymous wait> 
      at ControlFlow.wait (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2352:17) 
      at WebDriver.wait (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:712:29) 
      at Browser.to.(anonymous function) [as wait] (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\built\browser.js:61:29) 
      at Object.<anonymous> tests\Protractor\Support\supportPage.spec.ts:33:17) 
      at C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:96:23 
      at new ManagedPromise (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1082:7) 
      at controlFlowExecute (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:82:18) 
      at TaskQueue.execute_ (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2913:14) 
      at TaskQueue.executeNext_ (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2896:21) 
      at asyncRun (C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2820:25) 
      at C:\Users\My\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:639:7 
      at process._tickCallback (internal/process/next_tick.js:103:7) 
+0

のためにあなたが代わりにECのアプローチで、試すことができません: 'browser.wait(関数(){リターン要素(で.id( 'support-dashboard-btn'))。isPresent(); }、3000); ' – Vlad

答えて

1

Protarctorがかもしれませ要素については、以下のbrowser.waitdashboardPage.supportButton

browser.wait(EC.visibilityOf(dashboardPage.supportButton), 3000) 

に特定の期間(3000ms)を待ってタイムアウトになったことを言ってタイムアウトを増やすか、要素定義がまた、正しい

別のアドバイス、あなたは)browser.waitForAngularを(使用neednt、分度器は自動的

+0

私は時間切れを増やして試してみましたが、これは助けになりませんでした。デフォルトのジャスミンタイムアウトを 'defaultTimeoutInterval:2500000'に設定しました。私が 'browser.waitForAngular(); '角を知るためのURLがないので、それは新しいページです。 – SMPH

+0

あなたのケースのタイムアウトはジャスミンのタイムアウトではなく、待ちタイムアウトです。このようなブラウザを試すことができますか?(EC.visibilityOf(dashboardPage.supportButton)、10000) ' – AdityaReddy

+0

私は' browser.wait(EC.visibilityOf (dashboardPage.supportButton)、25000) 'は同じ結果です。 – SMPH

関連する問題