2

我想验证伪元素的文本内容。使用返回的承诺ptor.executeScript("window.getComputedStyle(jQuery('.my-class')[0], ':after').content").then(function(data){ console.log(arguments) // {'0':null} });

我也尝试过在期望中放弃它,但我猜这会因为同样的原因而失败。

由于对此的 CSS 声明无论如何都指向元素的属性之一,我是否应该尝试读取该属性?

4

2 回答 2

9

executeScript将等待您返回一个值 - 所以您需要这样做:

ptor.executeScript("return window.getComputedStyle(jQuery('.my-class')[0], ':after').content")
    .then(function(data){ console.log(arguments)});
于 2013-11-12T01:15:58.917 回答
1

作为基于我们的好朋友朱莉又名“量角器向导”的更新答案。

我没有可用的 jQuery 来获取我的伪元素,所以我这样做了......

describe('#swPopover Component', () => {
    it('should show the popover message when hovered', () => {
      browser.actions().mouseMove(objectsPage.popover).perform();
      browser.executeScript('return window.getComputedStyle(document.querySelector(".sw-popover"), ":after").content')
        .then(data => expect(data).toBe('"I am the popover text"'));
    });
  });
于 2017-08-17T11:26:47.003 回答