Javascript 需要用适当的承诺替换browser.sleep

Javascript 需要用适当的承诺替换browser.sleep,javascript,angularjs,selenium,protractor,Javascript,Angularjs,Selenium,Protractor,我正在尝试用量角器自动化一个非角度的js网站。为了定位元素,我使用了xpath。但是为了正确运行测试,我使用了browsr.sleep(),我认为这不是编写测试脚本的好方法。 谁能告诉我承诺声明应该是什么 var co = require('co'); var path = require('path'); describe("Supplier Portal: Partner Login ", function () { it("test", co.wrap(function* (

我正在尝试用量角器自动化一个非角度的js网站。为了定位元素,我使用了xpath。但是为了正确运行测试,我使用了browsr.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);**
    }));
我读过一些文章,包括在量角器中的显式等待,但它对我不起作用

可能的重复可能的重复