【问题标题】:Protractor click element with repeater带中继器的量角器点击元素
【发布时间】:2020-03-29 19:48:55
【问题描述】:

我正在使用量角器,我正在做一个中继器,首先我得到文本,然后我试图点击那个元素,但我得到一个错误

[14:40:00] E/launcher - roleSelected.element is not a function
[14:40:00] E/launcher - TypeError: roleSelected.element is not a function
    at role.element.getText.then (/Users/jburquez/akamai/ConsoleUI/tests/e2e/console_bdd/steps/manage_agents_steps.js:41:31)
    at elementArrayFinder_.then (/Users/jburquez/akamai/ConsoleUI/node_modules/protractor/built/element.js:804:32)
    at ManagedPromise.invokeCallback_ (/Users/jburquez/akamai/ConsoleUI/node_modules/selenium-webdriver/lib/promise.js:1376:14)
    at TaskQueue.execute_ (/Users/jburquez/akamai/ConsoleUI/node_modules/selenium-webdriver/lib/promise.js:3084:14)
    at TaskQueue.executeNext_ (/Users/jburquez/akamai/ConsoleUI/node_modules/selenium-webdriver/lib/promise.js:3067:27)
    at asyncRun (/Users/jburquez/akamai/ConsoleUI/node_modules/selenium-webdriver/lib/promise.js:2927:27)
    at /Users/jburquez/akamai/ConsoleUI/node_modules/selenium-webdriver/lib/promise.js:668:7
    at process._tickCallback (internal/process/next_tick.js:68:7)

这是代码

    var agentRoles = element.all(by.repeater('ctrl.roles'));
    agentRoles.each((role) => {
      return role.element(by.xpath(".//div[@class='md-whiteframe-1dp outset inset']/md-checkbox/div[2]/span")).getText()
      .then((roleSelected) => {
        if(agentRole == roleSelected){
          return roleSelected.element(by.xpath(".//div[@class='md-whiteframe-1dp outset inset']/md-checkbox/div")).click().isPresent();
        }
      });
    });

所以不知道在这种情况下我该怎么办,希望你能帮忙!!

【问题讨论】:

    标签: automation protractor e2e-testing


    【解决方案1】:

    roleSelected 是一个字符串,您正在尝试将另一个 Web 元素循环到该文本。

       var agentRoles = element.all(by.repeater('ctrl.roles'));
        agentRoles.each((role) => {
          return role.element(by.xpath(".//div[@class='md-whiteframe-1dp outset inset']/md-checkbox/div[2]/span")).getText()
          .then((roleSelected) => {
            if(agentRole == roleSelected){
              return agentRole.element(by.xpath(".//div[@class='md-whiteframe-1dp outset inset']/md-checkbox/div")).click().isPresent();
            }
          });
        });
    

    希望以上脚本对您有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多