2016-10-11 21 views
1

の「findElementsOverride」プロパティを読み取ることができません。私は次のテストがあります。それはスタックトレースで失敗が失敗しました:未定義

 it('diplays the currency and description of a valid account', function() { 
      common.setValueForInput("CH3809000000911058770", page.inputs.css.zahlungKontoIban).then(
       function() { 
        return element(page.buttons.empfaengerKontoValidieren).click(); 
       }) 
       .then(function() { 
        return expect(element(by.id("zahlungKontoIbanFehler")).isDisplayed()) 
         .toBeFalsy('an error message must not be shown when the accounts are different'); 
       }) 
       .then(function(){ 
        browser.pause(); 
       expect(element(by.id("zielwaehrung")).getAttribute("innerHTML")) 
        .toContain('CHF', 'the currency for CH3809000000911058770 is CHF') 
       expect(element(by.id("empfaengerName")).getAttribute("innerHTML")) 
        .toContain('Test Bezeichnung 2', 'the description for CH3809000000911058770 is Test Bezeichnung 2') 
       }) 
     }); 

を:

AccountClosing - UI009.1 account validation account validation diplays the currency and description of a valid account 
Message: 
    Failed: Cannot read property 'findElementsOverride' of undefined 
Stack: 
    TypeError: Cannot read property 'findElementsOverride' of undefined 
at C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\lib\element.js:134:20 
at goog.async.run.processWorkQueue (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:124:15) 
at process._tickDomainCallback (internal/process/next_tick.js:129:7) 
Error 
at ElementArrayFinder.applyAction_ (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\lib\element.js:382:21) 
at ElementArrayFinder.(anonymous function) [as getInnerHtml] (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\lib\element.js:78:17) 
at ElementFinder.(anonymous function) [as getInnerHtml] (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\lib\element.js:711:7) 
at C:\beam-app\accountClosing\ui009\e2e\accountClosing_ui009_1_e2e_test.ts:94:59 
at goog.async.run.processWorkQueue (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:124:15) 
at process._tickCallback (internal/process/next_tick.js:103:7) 
From: Task: Run it("diplays the currency and description of a valid account") in control flow 
at Object.<anonymous> (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:81:14) 
at attemptAsync (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1819:24) 
at QueueRunner.run (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1774:9) 
at QueueRunner.execute (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1762:10) 
at Spec.Env.queueRunnerFactory (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:627:35) 
at Spec.execute (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:353:10) 
at Object.fn (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:2360:37) 
at attemptAsync (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1819:24) 
at QueueRunner.run (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1774:9) 
at C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1801:16 
From asynchronous test: 
    Error 
at Suite.<anonymous> (C:\beam-app\accountClosing\ui009\e2e\accountClosing_ui009_1_e2e_test.ts:83:13) 
at addSpecsToSuite (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:743:25) 
at Env.describe (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:713:7) 
at jasmineInterface.describe (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:3219:18) 
at Suite.<anonymous> (C:\beam-app\accountClosing\ui009\e2e\accountClosing_ui009_1_e2e_test.ts:65:9) 
at addSpecsToSuite (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:743:25) 
at Env.describe (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:713:7) 
at jasmineInterface.describe (C:\Users\roonm\AppData\Roaming\npm\node_modules\protractor\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:3219:18) 
at Suite.<anonymous> (C:\beam-app\accountClosing\ui009\e2e\accountClosing_ui009_1_e2e_test.ts:36:5) 

位置ライン94:59は声明でgetInnerHtml()

expect(element(page.zielwaehrung).getInnerHtml()) 
         .toContain('CHF', 'the currency for CH3809000000911058770 is CHF') 

browser.pause()には、要素が実際に存在していることと、彼らです。

このメッセージは何を意味し、どうすればデバッグできますか?

答えて

0

エラーは、私が誤ってbeforeAllは、それが呼び出されるdescribeに適用することを考え、あまりにも多くのbeforeAll通話

から来ています。これは事実ではないことが判明し、beforeAllbrowser.getを5回コールすると、何かが騒がれます。

私はbeforeEachへの1回の呼び出しで複数の呼び出しを置き換えましたが、今はすべてうまく動作します。

+0

非常に奇妙な音ですが、再現性のあるサンプルを作成して[分度器でgithubの問題を開く](https://github.com/angular/protractor/issues)?ありがとう! – alecxe

1

getInnerHtmlのメソッドは廃止されました.use getAttribute("innerHTML")です。

+0

それを行う別の方法..しかし、 'getInnerHtml()'も正しく動作するはずですか? – AdityaReddy

+0

'getInnerHtml'は最近非難されました(バージョン4.0.0以降)。 https://github.com/angular/protractor/blob/master/CHANGELOG.md#400を参照してください。代わりに '.getText()'を使用できますか? – cnishina

関連する問題