Ich schreibe einfachen Test in Jasmin-Rahmen. Ich habe folgende Dateien in einem Ordner gespeichert:Mit Klassen in verschiedenen .ts-Dateien in Jasmin
maintest.ts
helper.ts
Workflow1.ts
Workflow2.ts
Workflow-Dateien haben folgenden Inhalt (Beispiel):
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();
});
}
}
Und die maintest.ts ist:
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();
});
});
aber wenn ich es laufen, hat nichts laufen richtig - ich bekomme diese Fehlermeldung:
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"
aber wenn ich einen Kommentar:
//Workflow1.Foo2();
//Workflow2.Foo2();
//Workflow2.Foo2();
die Workflow1.Foo1
w Orks vollkommen in Ordnung.
Kann ich nicht verschiedene Methoden aus verschiedenen Dateien verwenden? Es funktioniert mit Helfer, wo ich mich anmelden und abmelden Methoden ...
Versuchen Sie, Winkelmesser zu deaktivieren, um auf Winkel zu warten. Ihr Fehler ist darauf zurückzuführen, dass der Winkelmesser während der Wartezeit auf die Synchronisierung mit Angular Zeitlimit überschritten hat. – demouser123
Wo? Ich habe 'browser.ignoreSynchronization = true;' in helper in der Login-Methode und auch irgendwo in maintest.ts (dh beforAll oder im Basic Workflow) – Michal
Je nachdem, welche Version des Winkelmessers Sie verwenden, ist 'browser.ignoreSynchronization' veraltet. Der neue Befehl ist 'browser.waitForAngularEnabled (false)' – tehbeardedone