角度JS

时间:2017-09-08 08:15:32

标签: javascript angularjs protractor

我是量角器和角度js的新手。我想使用量角器和角度js自动化Web应用程序的测试。 Web应用程序有一个登录页面,后跟包含下拉列表和输入字段的主页面。我编写了量角器代码来进行测试以登录应用程序。但之后它没有执行我为点击下拉列表所写的功能,我的问题是我应该在哪里放置下拉选项的功能。我的流程是......

   var  username = element(by.model('login.username'));
   var password = element(by.model('login.password'));
   var goButton = element(by.buttonText("Login"));
   function login_page(a, b) {     
      username.sendKeys(a);
      password.sendKeys(b);
      goButton.click();
    }
    beforeEach(function() {
       browser.get('my_url');
     })
    function seldrop(element, optionNum) {
       console.log('in seldrop');
       var selectDropdownbyNum = function ( element, optionNum ) {  
       if (optionNum){
           var options = element.querySelectorAll('.dropdown-toggle')   
           .then(function(options){
            options[optionNum].click();
            console.log(options);
       });
     }
  }
  }

  it('put in values', function() {
  login_pg('usrname', 'passwd');
  const selector = seldrop(element,'3');
    colsole.log(selector);
   });

当我通过量角器执行JS时,它确实显示成功,但只是成功登录就是它。 似乎没有调用seldrop函数。它是否按正确顺序排列?

1 个答案:

答案 0 :(得分:0)

我没有看到元素变量[seldrop(element,' 3')]被定义为全局变量或其内部块。所以它可能传递了未定义的值。

我没有看到您定义函数的顺序有问题(根据我对javascript中执行上下文的了解)。但是作为一个标准,如果你可以在每个块

之前将所有函数保持在一起,那将是很好的