我正在尝试使用selenium-webdriverjs编写浏览器测试。当我调用以下代码片段时,我得到错误:错误响应:13。
browser.waitForCondition('var element = document.querySelector(".selector"); var style = document.defaultView.getComputedStyle(element,null); style =' + btnColor ,timeout);
我正在等待一个条件,我希望从css选择器获得的元素中获得计算的css样式。然后将计算出的css样式与名为btnColor的变量进行比较。 (我知道使用名为getComputedCss的Webdriver JS API方法也可以做同样的事情。但是,我有兴趣使用waitForCondition来达到同样的目的。)
我想知道如何正确使用waitForCondition来实现我想要做的事情,如上所述以及为什么代码片段会抛出错误。
提前致谢!
答案 0 :(得分:1)
我找到了这个问题的答案。我在表达式中犯了几个javascript错误。以下是我用来解决问题的代码片段。
browser.waitForCondition('var element = window.document.querySelector(".selector"); var style = window.document.defaultView.getComputedStyle(element,null).getPropertyValue("background-color"); style ="' + btnColor + '"',timeout);
1)为了使用文档,你需要先调用window对象
2)为了获得计算出的背景颜色,我需要使用方法.getPropertyValue()。
3)btnColor包含一个字符串。因此,我需要在它周围放一个双引号,以便解释器将其识别为字符串。