我正在jasmine框架中编写简单的测试。我有以下文件存储在一个文件夹中:
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();
});
}
}
主要测试是:
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
完美无缺。
我不能使用不同文件中的不同方法吗?它适用于帮助程序,我有登录和注销方法......
答案 0 :(得分:0)
我想我得到了这个。我的代码对于不同的describe
来说非常长,当我将它最小化为2时,它开始工作:)
编辑:正如我在下面的评论中提到的,Workflow1和Workflow2文件中的每个方法必须至少有一个describe
且内部至少有一个it
- 只有describe
没有{{ 1}}抛出错误