2
に非角度ログイン私がサイトに到達する前には、私は分度器:それは渡して、非角度ページですが、角度サイト
var url = 'http://localhost:9999/login?usern=bar';
browser.driver.get(url);
最初のログイン(非角度)のページを訪問する必要がテストされます?usern=bar
をURLに入力すると、サーバーは302のHTTP CODEを返し、ページ/new-user
にリダイレクトします。 new-user
ページの中に私がテスト
を開始する前に、ボタンをクリックする必要があります。しかし何でも私は、私はいつも
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
を取得し、私はnew-user
ページを見ることができるので、間違った何かが、私の流れの中にありますが、ボタンがクリックされない(と長い後にエラーが表示されていること)
specファイル:
var Site = require('helper/site');
describe('Main', function {
beforeAll(function() {
return Site.login();
});
it('should show the main page', function() {
epect(browser.getCurrentUrl()).toMatch(/\/main/);
});
});
Site.js :
describe('Main', function {
beforeAll(function() {
browser.ignoreSynchronization = true;
return Site.login();
});
it('should show the main page', function() {
browser.ignoreSynchronization = false;
expect(browser.getCurrentUrl()).toMatch(/\/main/);
});
});
ものの、それをオフにするには良い場所を考えると、その後にもう一度一度:
function login() {
browser.driver.get('http://localhost:9999/login?usern=bar');
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function (url) {
return /\/new-user/.test(url);
});
});
element(by.css('.save')).click();
}
module.exports = {
login: login
};
すべてのヘルプはあなたがオフの同期をオンにする必要があり
これははるかに優れています!これでメインページに移動します。しかし、私はまだ同じタイムアウトエラーが発生します。しかし、 'browser.ignoreSynchronization = false;'を削除した場合、テストは完了します。何が起こるのか? –
@JeanlucaScaljeri hm、メインページにあるときに 'browser.waitForAngular()'を追加するとどうなりますか?ありがとう。 – alecxe
'browser.waitForAngular()'は、 'browser.ignoreSynchronization = false;'(waitForAngularと組み合わせて)を追加するとすぐにテストを実行せず、タイムアウトが発生します。 –