我正在使用 WebdriverIO。
我使用“npm test”从命令行开始测试,这会触发命令:wdio wdio.conf.js,如我的 package.json 中所指定:
"scripts": {
"test": "wdio wdio.conf.js"
},
Run Code Online (Sandbox Code Playgroud)
我想要做的是指定要运行的实际测试,如下所示:
wdio wdio.conf.js --spec ./test/specs/e2e/login.js
我的问题是,如何从 npm 命令传递测试用例,即如何将 --spec ./test/specs/e2e/login.js 从 npm 命令传递到 wdio 命令?
您好_如果有人可以在这里提供帮助-我正在尝试使用 Cucumber 标签运行特定场景-这是我用来运行使用 Webdriver-Cucumber 框架构建的测试的表达式-
npx wdio 运行 wdio.conf.js --cucumberOpts.tagExpression='@Tag
当我使用上述命令时,没有任何反应 - 我已经在功能级别定义了标签 - '@Tag' - 因此我期望功能文件中的所有场景都将被执行,但是当我运行上述命令时 - 什么也没有发生。有人可以帮忙吗?
我希望能够单击“同意”按钮以同意网站上的 cookie,我知道如何在 selenium webdriver 中执行此操作,但是,我不知道如何使用 js 和 mocha 执行此操作,因为我正在尝试学习任何帮助表示赞赏。
我试过
browser.switchToFrame($('#sp_message_iframe_207015'));
$(getHighlightedText('Agree')).click();
Run Code Online (Sandbox Code Playgroud)
但没有用
基本上,我启动该网站,然后收到一个弹出窗口,要求同意 cookie 并管理 cookie/首选项,我只想能够单击“同意”
#sp_message_iframe_207015是 Iframe 的 Id
同意元素看起来像这样
<button
tabindex="0"
title="Agree"
aria-label="Agree"
class="message-component message-button no-children"
path="[0,4,1]"
style="padding: 10px 50px; margin: 10px; border-width: 1px; border-color: rgb(0, 115, 197); border-radius: 20px; border-style: solid; font-size: 14px; font-weight: 600; color: rgb(255, 255, 255); font-family: "trebuchet ms", helvetica, sans-serif; width: auto; background: rgb(0, 115, 197);"
>
Agree
</button>
Run Code Online (Sandbox Code Playgroud) javascript mocha.js webdriver-io webdriver-io-v4 mochawesome
我正在使用 WebdriverIO 帮助进行一个测试项目。我们在 TS serting 方面遇到了巨大的困难,因为 TS 转译器似乎可以正确解析 TS 模块,但解析在运行时失败。
例如,如果我有一个模块:
// config/config.ts
export const config = {};
Run Code Online (Sandbox Code Playgroud)
然后是一个文件:
// someTest.ts
import { config } from './config/config`;
Run Code Online (Sandbox Code Playgroud)
然后 TS 将正确显示 的类型config。但是,在运行该套件时,我会收到以下消息:
[0-2] 2023-04-18T09:07:54.651Z ERROR @wdio/runner: Error: Cannot find module '/Users/ronnyefronny/projects/wdio-demo/config/config' imported from /Users/ronnyefronny/projects/wdio-demo/test/step-definitions/VoiceflowStepDefs.ts
Run Code Online (Sandbox Code Playgroud)
我的tsconfig.json是:
// config/config.ts
export const config = {};
Run Code Online (Sandbox Code Playgroud)
WDIO 配置的其余部分是按照他们的文档推荐的,但仍然什么也没有。
让我困惑的是,在他们自己的示例样板存储库中,WDIO 将 TS 模块导入为 JS,这让我困惑不已。我在后端和前端项目上使用 TS 已经有几年了,从来不需要导入 TS 模块作为其转译的 JS 模块。
也就是说,而不是
import { config } from './config/config';
Run Code Online (Sandbox Code Playgroud)
会做 …
我有一个网页,我试图通过Webdriver I/O进行测试.我的问题是,如何通过测试点击几个链接?目前,我有以下内容:
var webdriverio = require('webdriverio');
var client = webdriverio.remote(settings).init()
.url('http://www.example.com')
.elements('a')
.then(function(links) {
for (var i=0; i<links.value.length; i++) {
console.log('Clicking link...');
var link = links.value[i].ELEMENT;
link.click().then(function(result) {
console.log('Link clicked!');
});
}
})
;
Run Code Online (Sandbox Code Playgroud)
执行上述操作后,我在链接上收到"click is not a function"的错误消息.当我打印link到控制台时,它看起来像JSON,这是有意义的,因为文档说元素函数返回WebElement JSON对象.不过,我只想弄清楚如何点击此链接.
如何做到这一点?
谢谢!
我想知道在单击下载按钮后如何验证文件是否是使用 Selenium Webdriver 下载的。
webdriver-io ×7
javascript ×3
node.js ×2
appium ×1
cucumber ×1
mocha.js ×1
mochawesome ×1
npm ×1
typescript ×1