- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试编写一个非常简单的 WebdriverIO 脚本,该脚本将访问 URL,等待 JS 中的某些条件为真(例如,正在设置的全局变量),并在为真时截取屏幕截图。但是 waitUntil
抛出一个错误,指出“CommandError:Promise 从未以真值解决”。下面是我的脚本的简化版本:
"use strict";
var webdriverio = require('webdriverio');
var client = webdriverio.remote({
desiredCapabilities: {
browserName: 'chrome',
},
})
.init()
.url("https://google.com")
.waitUntil(
function() {
return client.execute(
function() {
return true;
}
);
}
)
.screenshot();
我的实际情况当然不仅仅是“return true;
”,但这显示了一个显然会返回真值的执行。
如果我删除对 screenshot()
的调用,则不会出现错误。
我尝试为 waitUntil()
设置较高的超时值,并尝试从 .execute()
调用返回实际的 result.value,但都没有帮助。
最佳答案
好吧,凭直觉我尝试了一些东西。我没有调用 client.execute()
,而是调用 this.execute()
。出于某种原因,这有效。我对其原因的唯一猜测是 waitUntil 在与 client
分离的特殊上下文中执行自身,而该上下文正是它期望以某种方式 promise 的内容。
关于node.js - WebdriverIO 屏幕截图在等待执行条件后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32160956/
1、介绍 今天给大家推荐一款基于Node.js编写且号称下一代浏览器和移动自动化测试框架:WebdriverIO 简单来讲:WebdriverIO 是一个开源的自动化测试框架,它允许测试人员使用
我想使用 WebdriverIO 的日志功能从 chrome 获取浏览器日志 (console.logs),但我得到的只是函数日志不是函数。 var WebdriverIO = require('we
我使用的是 ubuntu 14.04。这是我的代码: var webdriverio = require('webdriverio'); var options = { desiredCapa
为了测试,我有这样的目录结构: 定制 库 测试 页面 在“custom”目录中编写的每个 JavaScript 函数都可以通过“浏览器”对象通过“test”目录进行访问。 这是通过 lib 目录中的“
我正在使用 WebdriverIO 构建一个 e2e 测试套件,但我一直致力于在页面对象之间创建继承。 在 Protractor 中,我们可以通过参数传递上下文,然后只搜索该上下文中的元素。例如, v
我正在尝试在我的应用程序中测试一个场景,其中我需要关闭浏览器和 session 并启动一个新的浏览器和 session 来测试当我传递一组将调用的启动参数时,之前输入的数据是否成功调用数据。尽管我在关
我正在尝试查找一个元素 let selector = "[class='count-stats']"; console.log(browser.element(selector)); 出现错误 { t
我正在从事 webdriverio 自动化项目。我有以下代码。 waitUntilVisible(element, maxTimeOut) { console.log("**********
我正在尝试使用 WebdriverIO 截取整个页面的屏幕截图。 我读过最好的方法是使用 WebdriverCSS增强我的 WebdriverIO 流。 WebdriverCSS自动截图整个页面??
我想覆盖 webdriverio 中的点击命令 在每次点击之前,我都会检查定位器是否存在。我想要这样的东西: browser.addCommand("click", function () {
我的应用程序中有一个类似于此的下拉列表 - Volvo Saab Mercedes Audi 我如何将汽车品牌选项收集到一个数组中?我知道 java selenium 绑定(bin
示例 HTML: asadka_TEST Peter Parker Clark Kent aldkfsd_TEST 类中的 Javascript 代码 class
所以我有一个 250 行的表,我只想从一列中获取所有值并检查它们是否满足要求的条件: const rows = browser.elements(selector..); const number
我正在使用 CucumberJS 为我当前的项目编写测试。该测试将使用 Selenium Server + WebDriverIO 进行测试。现在我坚持测试,我必须选择一个图像文件上传到服务器。我正在
Webdriverio 元素需要是字符串类型吗? 我的代码如下: describe('Test Contact Us form WebdriverUni', function() { it.onl
我对自动化测试非常陌生,目前我完全被以下问题所困扰: 我打开了一个网页(第一个窗口)在同一测试中,我调用 .newWindow(second window) 并在该窗口中执行一些操作。最后一个 Act
http://webdriver.io/guide/getstarted/modes.html 尝试使用 Chromedriver 调试 webdriverio 测试时,我绝对会发疯。您根本无法单步执
我最初的研究让我找到了 jQuery 选择器,它可以让我在 Chrome 检查器中返回正确的元素,但 Webdriver 不能或无法识别该选择器,即使 jQuery 可以识别。 这个片段就是我的选择元
我正在尝试使用 webdriverIO 单击网页中的链接。我可以导航到 google.com 页面,然后输入搜索词。 但是当我尝试单击包含所需文本的链接时,它不会单击该链接。 我做错了什么: 这是我的
我有一个测试,其中包含我想要在多个文件中重复使用的步骤。 我想我可以创建一个名为 common.js 的文件,列出其中的所有函数,然后在需要时调用。 这是推荐的方法吗? 我觉得唯一的问题是常用方法的文
我是一名优秀的程序员,十分优秀!