使用量角器“期待”

时间:2017-11-17 12:12:47

标签: protractor jasmine2.0

我有一些按顺序运行的简单规范。第一个对网页标题有一个private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1) { dataGridView1.Rows[e.RowIndex].Cells[14].Value = ((Convert.ToDecimal(dataGridView1.Rows[e.RowIndex].Cells[3].‌​Value)) * (Convert.ToDecimal(dataGridView1.Rows[e.RowIndex].Cells[7].V‌​alue)) - Convert.ToDecimal(dataGridView1.Rows[e.RowIndex].Cells[13].V‌​alue));/*taxable*/ } 断言 - 第二个断言。

然而,当我运行序列时,第一个断言通过,但第二个断言失败,console.log显示第一个规范expect的部分已与第二个规范的expect合并。 / p>

我有一种感觉这与承诺有关...请有人确认一下(或否认它!!)并建议如何结束承诺?

由于

第一个规范

expect

第二个规范

describe('JL Homepage', function() {
//browser.waitForAngularEnabled(false);
browser.get('https://mwac-johnlewis-dev.digitalbridge.eu/landing');

 browser.sleep(10000);


it('should have a title', function(){
expect (browser.getTitle()).toBe('John Lewis Wallpaper Visualiser: 
Welcome');
});

});

控制台

describe('Demo photo', function() {
browser.waitForAngularEnabled(false);


browser.sleep(3000);
element(by.xpath('html/body/webapp-app/div/div/webapp-johnlewis-landing/div/div/ul/li[2]/a/span')).click();

it('should load a demo room', function(){

    expect (browser.getTitle()).toEqual('John Lewis Wallpaper Visualiser: Design your room');

browser.sleep(3000);
});

});

1 个答案:

答案 0 :(得分:1)

您需要将所有操作包装在有效的Jasmine块中。

查看an introduction of Jasmine with examples herelatest API description here

作为补充: browser.get()总是有点难以处理,因为量角器无法知道,如果要加载的页面包含Angular。因此,在页面完全加载之前,测试执行可以继续。

为防止执行过快,请使用ExpectedConditionsbrowser.wait()

在这里,我建议第一个规范:

describe('JL Homepage', function() {
    //possibility for beforeAll(), beforeEach(), afterAll(), afterEach()
    it('should load the page and have a title', function(){
        var EC = protractor.ExpectedConditions;
        browser.get('https://mwac-johnlewis-dev.digitalbridge.eu/landing');
        //wait until URL has changed
        browser.wait(EC.urlIs('https://mwac-johnlewis-dev.digitalbridge.eu/landing'),5000);
        //wait until page has finished loading
        browser.waitForAngular();
        expect (browser.getTitle()).toBe('John Lewis Wallpaper Visualiser: Welcome');
    });
});