2014-10-03 56 views
1

我正在运行量角器测试并使用下拉式填充表单。我怎样才能确保每个下拉菜单都有一个承诺,在下一个下拉菜单之前解决?现在我正在睡觉,并知道这不可能是正确的方式。量角器从承诺下拉列表中选择数值

Describe('Filling site utility form', function() { 
     beforeEach(function(){ 
     var input_monthly = by.linkText('Input Monthly'); 

     browser.wait(function() { 
      return browser.isElementPresent(input_monthly); 
     }); 

     var field1 = element(by.id('field1')); 
     Test.dropdown(field1, 1); 

     var field2 = element(by.id('field2')); 
     Test.dropdown(field2, 1); 
    }); 

我的下拉作用是:

dropdown = function(element, index, milliseconds) { 
    element.findElements(by.tagName('option')) 
     .then(function(options) { 
     options[index].click(); 
     }); 
    if (typeof milliseconds !== 'undefined') { 
     browser.sleep(milliseconds); 
    } 
    } 

回答

0

不是100%肯定你的意思,但我怀疑你感兴趣的是这样的:

describe('Filling site utility form', function() { 
    beforeEach(function(){ 
    var input_monthly = by.linkText('Input Monthly'); 

    browser.wait(function() { 
     return browser.isElementPresent(input_monthly); 
    }); 

    var promise1 = element(by.id('field1')).all(by.tagName('option')).get(1).click(); 
    var promise2 = element(by.id('field2')).all(by.tagName('option')).get(1).click(); 

    protractor.promise.all([promise1, promise2]).then(function() { 
     //what do you want to do next? 
    }); 
    }); 
});