0

我想在使用 WDIO 和 Appium 为 Android 混合应用程序进行的测试content中从伪元素 ( ) 的 CSS 中获取值 ( ),因为设计人员已将当前的响应式设计状态存储在那里。::before所以我的测试会知道期望哪个布局(元素)。

对相关问题的多个回答(123)表明使用.getComputedStyle()可能是唯一的解决方案。但这在我的测试中似乎不起作用。错误是window is not defined针对window.getComputedStyle(...)document is not defined如果我使用document.defaultView.getComputedStyle(...). 似乎选择器本身也无法处理伪元素。

我的许多尝试之一的示例:

document.defaultView.getComputedStyle($('body'),'::before').getPropertyValue('content')

问题:我需要以某种方式导入windowdocument测试吗?是否有其他方法可以从测试中获取windowdocument从测试中获取?

最终:我如何才能获得混合 Android 应用程序的content价值?::before<body>

4

1 回答 1

1

感谢 Jeremy Schneider (@YmerejRedienhcs) 和 Erwin Heitzman (@erwinheitzman) 的帮助!

一种解决方案是使用以下execute功能:

let contentMode = browser.execute(() => {
  let style = document.defaultView.getComputedStyle(document.querySelector('body'),'::before');
  return style.getPropertyValue('content')
});

或者,也许也可以用getHTML.

于 2019-12-09T15:57:49.540 回答