2017-09-11 4 views
0

の要素を見つけることができません。Serenity-Jsフレームの作業を自動化しようとしています。 My GivenにはURL を開くステップが含まれており、パートには、左メニューのpx-accordinの中をクリックするアクション項目が含まれています。以下はURL <https://www.predix-ui.com/#/home>

私のフィーチャーファイルが

Scenario: To identify px-accordoin 
 
    Given access to predix ui 
 
    When i click on px-accordion 
 
    Then i shall automate the expand and collapse

そして、次のように見えるのは、

export = 
 
function identiyPXComponents() { 
 

 
    this.setDefaultTimeout(120 * 1000); 
 

 
    const actor = Actor.named("James").whoCan(BrowseTheWeb.using(protractor.browser)); 
 

 
    const stage = serenity.callToStageFor({ 
 
    actor: (name) => Actor.named(name).whoCan(BrowseTheWeb.using(protractor.browser)), 
 
    }); 
 

 
    this.Given(/^access to predix ui$/, function() { 
 
    return stage.theActorCalled("James").attemptsTo(
 
     Start.openApplication() 
 
    ); 
 
    }); 
 

 
    this.When(/^i click on px-accordion$/, function() { 
 
    return stage.theActorInTheSpotlight().attemptsTo(PXAccordinComponent.pxAccordinComponent() 
 
    ); 
 
    }); 
 

 
    this.Then(/^i shall automate the expand and collapse$/, function() { 
 
    return expect(actor.toSee(Text.of(PXComponentsElements.headerText))).to.eventually.equal("Date And Time"); 
 
    }); 
 
};

のErr私のステップファイルですまたは私が見ている: 与えられたそれは失敗します。しかし、私は、URLの開口部を参照してください、しかし、それがタイムアウトし、次のエラーで:

Error: Error while running testForAngular: asynchronous script timeout: result was not received in 110 seconds 
 
     (Session info: chrome=60.0.3112.113) 
 
     (Driver info: chromedriver=2.32.498537 (cb2f855cbc7b82e20387eaf9a43f6b99b6105061),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information) 
 
    Command duration or timeout: 110.85 seconds 
 
    Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
 
    System info: host: 'C02PQD87G8WP', ip: '3.204.57.13', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_65' 
 
    Driver info: org.openqa.selenium.chrome.ChromeDriver 
 
    Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.32.498537 (cb2f855cbc7b82e20387eaf9a43f6b99b6105061), userDataDir=/var/folders/z8/djc07ncj00v81002xs1wh6sw0000gn/T/.org.chromium.Chromium.IHsjtp}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=60.0.3112.113, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}] 
 
    Session ID: 0a67b882a3d3465cc91eb92ef414897d

コードがとき部分にナビゲートすることがないようさらに進行することができません。私はすでにタイムアウトを増やしてみました。

私は通常の分度器 - キュウリタイプスクリプトフレームワークを使用して自動化することができます。しかし、Serenity-Jを使用していません。 あなたの洞察を助けてください。

+0

お邪魔して申し訳ありませんが、私は角度の分度器を使用して作られていません。このアプリケーションのような溶液は、角オブジェクトが使用可能になるのを待つためにしようとしていた発見しました。私は与えられた関数でbrowser.waitForAngularEnabled(false)を使って修正しました。 – Pringa

+1

あなたはそれを答えとして追加し、解答としてマークして、人々があなたが解決策を見つけたことを知ってください! – Gunderson

答えて

0

following answerを参照してください。角度以外のアプリケーションをテストするときに角度固有の同期を無効にする方法について説明します。

ベスト

関連する問題