2016-10-18 10 views
0

私はe2e自動化テストツールとして分度器でPOCを始めました。 私たちのアプリケーションは角度に合わせて設計されており、完璧にフィットします。分度器 - 同期化フラグを無視する

しかし、私は非角度ウェブサイトであるグーグル経由でログインする必要があり、したがって、私のテストの開始時に私は

browser.ignoreSynchronization =真の状態。

は、その後、私は私のGoogleの認証情報を入力し、私は自分のアプリケーションのURLに移動しよう。この時点で

をサインインをクリックしてください

'https://accounts.google.com/ServiceLogin'

に行きた私は旋回を望んでいたので、角度の適用です

browser.ignoreSynchronization = false;私は、各テスト

しかし、私はfalseにignoreSynchronizationの電源を入れたときに、すべての私のテストが失敗を開始する前にログインすることができるように

すべての上記のステップはbeforeEachの一部です。 一方、私がそれをfalseにしないと、分度器はそれを非角形のアプリケーションとして扱っており、角が完全に読み込まれるのを待たずに多くのbrowser.sleepsを使うように強制されます

私はまた、beforeEachとは対照的にignoreSynchronization = falseを各個別のテストに入れようとしましたが、すべてのテストが失敗し始めます。以下は

私beforeEachコードを修正する

 browser.ignoreSynchronization = true; 
     browser.driver.manage().window().setSize(1280, 1024); 
     browser.get(googlelogin); 
     email.sendKeys('username'); 
     next.click(); 
     browser.wait(EC.visibilityOf(pwd), 5000); 
     pwd.sendKeys('pwd'); 
     signin.click(); 
     browser.ignoreSynchronization = false; 
     browser.driver.get(tdurl); 
+0

最後の2つのステップを切り替えるとどうなりますか?次のURL(角のページ)を取得し、 'browser.ignoreSynchronization = false'を設定します。また、角度ページ上の要素に期待される条件を1つ追加するだけで、安全です。 – Gunderson

答えて

0

いくつかのことである:角ページ上

  • 使用browser.get()通過する "クリック"
  • ため

    • 待ち

      変更点は次のとおりです。

      signin.click().then(function() { 
          browser.ignoreSynchronization = false; 
          browser.get(tdurl); 
          browser.waitForAngular(); // might not be necessary 
      }); 
      

      また、ログインステップが完了するのを待つことが期待条件とwaitを追加することができます - 特定のURL、またはページタイトル、またはページ上の要素を待つ、と言います。

    関連する問題