如何使用符号在

时间:2018-07-13 12:33:46

标签: javascript webdriver nightwatch.js

环境

  • 守夜人:^ 0.9.21
  • 节点:v9.11.1,
  • chrome

问题所在:

页面对象:

url: config.url,
sections: {
    dropdown: {
      selector: 'span[class="selection"]',
      elements: {
        inner: 'span[class="selection"] > span',
        list: 'ul[class="select2-results__options"]',
        first: 'ul[class="select2-results__options"] li:first-child',
        last: 'ul[class="select2-results__options"] li:last-child',
      },
    },
  },

致电

    const myPage = browser.page.mypage()
    const section = myPage.section.dropdown
    section.expect.element('@list').to.be.visible

我期望的是

  

期望的元素可见   -条件在29ms内得到满足

我得到的是

  

预期元素为   可见-找不到元素-预期为“可见”,但显示为:“未   找到”

此外,当我使用click()时,它可以工作,但'expect'不会从'@list'返回选择器

section
  .click('@list') <-- clicked
  .expect.element('@list').to.be.visible <- return 
 <Section[name=dropdown],Element[name=@list]> instead of selector

我可以用'@'表示法访问页面对象内部的任何元素,但是当我尝试从该节中获取元素时会失败。

P.S .:有时将错误消息更改为

  

无法找到元素:   “ Section [name = dropdown],Element [name = @ thirdItem]”使用:递归

0 个答案:

没有答案