2017-04-11 14 views
0

1つのタブから開始して別のタブを開き、ページの内容をコピーしてから最初のタブに戻り、クリップボードの内容を貼り付けるテストを作成しようとしています。テキストフィールド。新しいタブで分度器のエラー

それは新しいタブに切り替えたとき、私はに実行している問題は、それが次のエラーで失敗しているされて

fit('Text Card - Copied from another webpage',() => { 
 
     const EC = protractor.ExpectedConditions 
 
     listView.newButton.click() 
 
     stories.createStory(storyConfigNewTextCard) 
 
     const textCard: ITextCardParts = { 
 
      title: 'Copy and Paste', 
 
      copyPaste: true, 
 
     } 
 
     // Open a second tab to yahoo.com 
 
     browser.driver.executeScript(function() { 
 
      (function(a: HTMLAnchorElement) { 
 
      document.body.appendChild(a); 
 
      a.setAttribute('href', 'https://en.wikipedia.org/wiki/Artemis') 
 
      a.dispatchEvent((function(e: MouseEvent) { 
 
       e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null) 
 
       return e 
 
      }(document.createEvent('MouseEvents'))))}(document.createElement('a'))) 
 
     }) 
 
     // Switch to the second tab and copy the page to paste into the text field 
 
     browser.getAllWindowHandles().then((handles) => { 
 
      const secondWindowHandle = handles[1] 
 
      const firstWindowHandle = handles[0] 
 
      browser.switchTo().window(secondWindowHandle).then(() => { 
 
       browser.wait(() => { 
 
        browser.ignoreSynchronization = true 
 
        return EC.visibilityOf(element(by.id('firstHeading'))) 
 
       }, 3000, 'Could Not Find the Correct Page') 
 
       $('body').click() 
 
       // Select all web page 
 
       $('body').sendKeys(protractor.Key.chord(protractor.Key.CONTROL, 'a')) 
 
       // Copy the web page 
 
       $('body').sendKeys(protractor.Key.chord(protractor.Key.CONTROL, 'c')) 
 
      }) 
 
      // switch back to first tab 
 
      browser.switchTo().window(firstWindowHandle).then(() => { 
 
       text.createTextCard(textCard) 
 
      }) 
 
     }) 
 
    })
:ここ

Failed: Error while waiting for Protractor to sync with the page: "window.angular is undefined.

は私のテストコードです

私はこれをどうやって行うことができるのだろうかと思っています。 protractor.Key.chord()からwebdriver.Key.chord()への切り替えを試みましたが、まったく同じエラーが発生しました。

+1

私は問題は、あなたが切り替えているタブが角度ページではないということだと思いますので、警告です。私はあなたのコードを見ると、すでに 'browser.ignoreSynchronization = true'を使用していますが、切り替えた後に使用していることがわかります。切り替え前に設定して戻して元に戻しましたか? – wswebcreation

+0

@wswebcreation私はそのショットを与え、あなたに知らせるでしょう。 – DarthOpto

+0

@wswebcreationうまく機能しました。ありがとうございました。 – DarthOpto

答えて

1

この単純な解決策のために@wswebcreationに感謝します。私はスイッチの前にbrowser.ignoreSynchronization = trueを移動するだけでした。