在jasmine中使用不同.ts文件中的类

时间:2017-12-11 10:34:00

标签: jasmine protractor

我正在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完美无缺。

我不能使用不同文件中的不同方法吗?它适用于帮助程序,我有登录和注销方法......

1 个答案:

答案 0 :(得分:0)

我想我得到了这个。我的代码对于不同的describe来说非常长,当我将它最小化为2时,它开始工作:)

编辑:正如我在下面的评论中提到的,Workflow1和Workflow2文件中的每个方法必须至少有一个describe且内部至少有一个it - 只有describe没有{{ 1}}抛出错误