标签: webdriver-io

如何在 ios 模拟器中打开设置页面并使用 Appium 更改应用程序设置

如何在ios模拟器中打开设置页面并转到我的应用程序设置并使用Appium更改环境

在此输入图像描述

我无法找到任何文档如何在 webdriverio 和 appium 中执行此操作

appium webdriver-io

1
推荐指数
1
解决办法
4463
查看次数

WebdriverIO 如何指定要从 npm 命令运行的测试

我正在使用 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 命令?

npm webdriver-io

1
推荐指数
1
解决办法
8105
查看次数

如何在 WebdriverIO 中使用 Cucumber 标签运行“标记”场景

您好_如果有人可以在这里提供帮助-我正在尝试使用 Cucumber 标签运行特定场景-这是我用来运行使用 Webdriver-Cucumber 框架构建的测试的表达式-

npx wdio 运行 wdio.conf.js --cucumberOpts.tagExpression='@Tag

当我使用上述命令时,没有任何反应 - 我已经在功能级别定义了标签 - '@Tag' - 因此我期望功能文件中的所有场景都将被执行,但是当我运行上述命令时 - 什么也没有发生。有人可以帮忙吗?

cucumber webdriver-io

1
推荐指数
1
解决办法
9571
查看次数

如何使用 webdriverIO js 和 mocha 处理 Iframe 内容

我希望能够单击“同意”按钮以同意网站上的 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: &quot;trebuchet ms&quot;, 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

1
推荐指数
1
解决办法
1万
查看次数

为什么我必须将 TS 文件导入为 JS 文件?

我正在使用 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)

会做 …

typescript webdriver-io

1
推荐指数
1
解决办法
3798
查看次数

单击与WebdriverIO的链接

我有一个网页,我试图通过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对象.不过,我只想弄清楚如何点击此链接.

如何做到这一点?

谢谢!

javascript node.js webdriver-io

0
推荐指数
1
解决办法
3014
查看次数

如何使用 Selenium/WebdriverIO 探测文件是否已下载

我想知道在单击下载按钮后如何验证文件是否是使用 Selenium Webdriver 下载的。

javascript node.js selenium-webdriver webdriver-io

0
推荐指数
1
解决办法
8066
查看次数