使用量角器在下拉菜单中提取元素

时间:2018-08-29 04:21:19

标签: protractor

我正在学习用于自动化Angular Application的量角器f / w,目前我在从下拉列表中访问元素(Action-1,Action-2,..)方面遇到困难,以下是DOM示例

<div class="actions-menu ng-trigger ng-trigger-showAni" style="top: 97px; left: 1231px; display: block; opacity: 1; transform: scale(1);">
        <!----><button class="action-item ng-tns-c11-12 ng-star-inserted" style="">
          Action-1
        </button><button class="action-item ng-tns-c11-12 ng-star-inserted" style="">
          Action-2
        </button><button class="action-item ng-tns-c11-12 ng-star-inserted" style="">
          Action-3
        </button><button class="action-item ng-tns-c11-12 ng-star-inserted" style="">
          Action-4
        </button><button class="action-item ng-tns-c11-12 ng-star-inserted" style="">
          Action-5
        </button><button class="action-item ng-tns-c11-12 ng-star-inserted" style="">
          Action-6
        </button>
      </div>

我尝试过如下操作:

element.all(by.options('action-item.ng-tns-c11-7.ng-star-inserted')).get(0); 
element.all(by.options('actions-menu.ng-trigger.ng-trigger-showAnimation')).get(0); 
element(by.cssContainingText('.action-item ng-tns-c11-7 ng-star-inserted', 'Action-1')); 

有人可以指导吗?

1 个答案:

答案 0 :(得分:0)

基于html源,可以完成此操作

  1. 获取表div

  2. 使用tagName及其在div元素内的计数获取所有按钮

  3. 环绕所有按钮元素以在其中添加文字

    it("handling dynamic table",function(){
    
        var table = element(by.css(".actions-menu.ng-trigger.ng-trigger-showAni"));
    
        table.all(by.tagName('button')).getText().then(function(txts){
            txts.forEach(function(txt){
               console.log(txt);
            })
        });
    });