在Protractor中运行测试用例后,进一步的测试用例没有执行

时间:2016-12-14 08:30:44

标签: protractor ui-automation

describe('Login ', function () {

    afterEach(function () {
        browser.ignoreSynchronization = false;

    });

    //1. First test case
    it(' through Account', function () {
        browser.get("URL");
        browser.driver.manage().window().maximize();
        var gmail = element(by.css('.ggl>img'));
        gmail.click()
        browser.getAllWindowHandles().then(function (handles) {
            browser.switchTo().window(handles[1]);

            element(by.id("Email")).click();
            element(by.id("Email")).sendKeys('EMAIL');
            element(by.id("next")).click();
            browser.sleep(1000);
            element(by.id("Passwd")).click();
            element(by.id("Passwd")).sendKeys('PASS');
            browser.sleep(1000);
            element(by.id("signIn")).click();
            browser.switchTo().window(handles[0]);
            browser.sleep(20000);
        });
    });

    //2. second test cases

    it(' Enter', function () {

        var Encryption = element(by.model("password"));
        browser.wait(GM.visibilityOf(Encryption), 100000);
        Encryption.sendKeys("click123");
        element(by.id("submit")).click();
        browser.sleep(10000);

    });
});

这是'it'中的两个测试用例。但成功登录后,第二个测试用例无效。

1 个答案:

答案 0 :(得分:0)

在你的第一次测试中 browser.sleep(20000); 这意味着它将在执行下一次测试之前等待20秒。你确定要等那么久吗?

browser.wait会返回承诺,所以您需要做的是

browser.wait(GM.visibilityOf(Encryption), 100000).then(function() {
    Encryption.sendKeys("click123");
    element(by.id("submit")).click();
});

你也错过了gmail.click()

中的分号