需要使用适当的promise语句替换browser.sleep

时间:2016-11-03 09:56:48

标签: javascript angularjs selenium protractor

我正在尝试使用量角器自动化非角度js网站。为了找到我使用xpath的元素。但为了正确运行我的测试,我使用了browesr.sleep(),我认为这不是编写测试脚本的好方法。 谁能告诉我什么应该是承诺声明?

var co = require('co');

var path = require('path');

describe("Supplier Portal: Partner Login ", function () {

    it("test", co.wrap(function* () {
        browser.ignoreSynchronization = true;  // or false
        browser.driver.manage().deleteAllCookies();
        yield browser.get('URL');
        **browser.sleep(4000);**
        var elmOK = browser.driver.findElement(by.css('a[href="#partner"]'));
        yield elmOK.click();
        expect(browser.getCurrentUrl()).toContain("partner");
        yield browser.switchTo().frame('here-account-sdk').then(function () {
            browser.driver.findElement(by.id('sign-in-email')).sendKeys("masterauthor1@gmail.com");
            browser.driver.findElement(by.id('sign-in-password-encrypted')).sendKeys("voting123");
            browser.driver.findElement(by.xpath(' //*[@id="sign-in-form"]/div[2]/div[6]/form/fieldset[3]/button')).click();

        });
        **browser.sleep(5000);**
        browser.driver.findElement(by.xpath('//*[@id="partner"]/div/div[1]/form/div[1]/div[2]/div/input')).sendKeys("TEST");//company name
        browser.driver.findElement(by.xpath('//*[@id="region"]/option[3]')).click();//region name
        browser.driver.findElement(by.xpath('//*[@id="country"]/option[105]')).click();//country name
        browser.driver.findElement(by.xpath(' //*[@id="datatype"]/option[13]')).click();
        browser.driver.findElement(by.xpath('//*[@id="partner"]/div/div[2]/div[1]/div[3]/label/input')).click();//check box
        browser.driver.findElement(by.xpath('//*[@id="comment"]/div/textarea')).sendKeys("TEST");//Test area
        // browser.driver.findElement(by.xpath('//*[@id="partner"]/div/div[2]/div[2]/button[2]')).click();

        **browser.sleep(5000);**

        var fileToUpload = './TEST.txt';
        var absolutePath = path.resolve(__dirname, fileToUpload);
        $('input[type="file"]').sendKeys(absolutePath);
        browser.driver.findElement(by.xpath('//*[@id="partner"]/div/div[2]/div[2]/button[1]')).click();

        **browser.sleep(5000);**
    }));

我读过文章,在量角器中包含显式等待,但它对我没用。

0 个答案:

没有答案