我正在尝试使用量角器自动化非角度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);**
}));
我读过文章,在量角器中包含显式等待,但它对我没用。