【问题标题】:Protractor - wait for class change量角器 - 等待换班
【发布时间】:2020-09-24 20:16:06
【问题描述】:

量角器如何等待元素改变属性?当我进入主页面时,连接按钮有 class=红色,想等到它改变类为绿色

【问题讨论】:

    标签: jasmine protractor


    【解决方案1】:

    这是您正在解决的任务的通用方法

    /**
    *  waitUntilElementHasAttribute
    *  @param    {ElementFinder}    $element                    Locator of element
    *  @param    {String}           attributeName               Attribute of an element to evaluate
    *  @param    {string}           [attributeString=""]        A target attribute value
    *  @param    {number}           [timeout=1000]              Time in ms
    *  @return   {Promise}
    */
    waitUntilElementHasAttribute($element, attributeName, attributeString = '', timeout = 1000) {
      return browser.wait(
        () =>
          $element.getAttribute(attributeName).then(attributeValue => {
            if (attributeValue !== null) {
              return attributeValue.includes(attributeString);
            } else {
              return false;
            }
          }),
          timeout,
          "Wait until element '" + $element.locator() + "' HAS " + attributeName + ': ' + attributeString
      );
    },
    

    注意这个等待,直到指定的属性部分匹配字符串

    要使用就这样称呼它

    await waitUntilElementHasAttribute(
      $element,
      'class',
      'green',
      3000
    )
    

    【讨论】:

    • 这是我在这里收到的最优质的答案,谢谢!:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2020-06-04
    • 2018-03-06
    相关资源
    最近更新 更多