私はジャスミンフレームワークで簡単なテストを書いています。私は、以下のファイルが1つのフォルダに保存されています:ジャスミンの異なる.tsファイルのクラスを使用
maintest.ts
helper.ts
Workflow1.ts
Workflow2.ts
ワークフローファイルの内容は次のとおりです(例)。
import {element, by, browser, protractor} from "protractor";
import {Helper} from "../../helper";
export class Workflow1/2
{
static Foo1() {
let element1;
let element2;
describe('check all fields', function() {
it('check foobar', function() {
element1.isVisible();
});
it('check foobar2', function() {
element2.isVisible();
});
}
static Foo2() {
let element3;
let element4;
describe('check all fields', function() {
it('check foobar', function() {
element4.isVisible();
});
it('check foobar2', function() {
element3.isVisible();
});
}
}
そしてmaintest.tsです:
import {browser} from "protractor";
import {Helper} from "./helper";
import {Workflow1} from "./Workflow1";
import {Workflow2} from "./Workflow2";
describe ('Regression Tests', function() {
beforeAll(function() {
console.log('====================Start');
});
describe('Basic workflow', function() {
Workflow1.Foo1();
Workflow1.Foo2();
Workflow2.Foo2();
Workflow2.Foo2();
});
});
が、私はそれを実行すると、何が正しく実行されなかった - 私はこのエラーを取得する:
Error: Error while waiting for Protractor to sync with the page: "window.angular is undefined. This could be either because this is a non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping. See http://git.io/v4gXM for details"
が、私はコメントしている場合:
//Workflow1.Foo2();
//Workflow2.Foo2();
//Workflow2.Foo2();
Workflow1.Foo1
w完全にうまくいった。
異なるファイルから別の方法を使用することはできませんか?私はログインとログアウトの方法を持っているヘルパーと協力します...
角度を待つように分度器を無効にしてみてください。あなたのエラーは、Angularとの同期を待っている間に、分度器のタイムアウトが原因です。 – demouser123
どこ?私は 'browser.ignoreSynchronization = true;'をログインメソッドのヘルパーで追加しました。また、maintest.tsのどこでも(つまり、beforeAllやBasic Workflowで) – Michal
あなたが使っている分度器のバージョンによって、 'browser.ignoreSynchronization'は廃止されました。新しいコマンドは 'browser.waitForAngularEnabled(false)' – tehbeardedone