问题标签 [webdriverjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1330 浏览

javascript - webdriverJS、webdriverIO 和 nightwatchjs 的区别

我正在尝试选择一个用于 JAVASCRIPT 自动化测试的工具。到目前为止,我使用 Selenium Webdriver JAVA 语言和 testng 来构建我的测试,但出于特定原因,我被要求搜索 JAVASCRIPT 解决方案来编写测试。我见过三个类似的框架,即 webdriverjs、webdriverio 和 nightwatchjs。请帮助我了解差异,以便我可以为我选择正确的框架。

0 投票
2 回答
717 浏览

javascript - Webdriver JS - 将 sendKeys 存储到变量并重用

目前我有一个包含 10 个字段的表单,我需要执行 sendkeys > 存储值,并在保存表单时断言此值。对于这些字段中的每一个,我需要创建一个函数并将值存储在一个变量中,还是有更好的方法?

我的实际代码:

干杯,拉斐尔

0 投票
1 回答
1429 浏览

angularjs - 用于下载文件的量角器 e2e 测试用例在 chrome 上可以正常工作,但不能在 Firefox 上正常工作,反之亦然?

我有一个场景,我需要单击一个链接,该链接将触发.CSV文件下载到默认位置(/tmp),它在 chrome 和 firefox 浏览器上都可以正常工作,但有时基于 conf.js 中的 multiCapabilities 配置它只能在单个浏览器上工作(意味着一组配置有助于 chrome 正常工作,但不是 firefox,另一组导致 firefox 工作但不是 chrome)。我使用以下 stackoverflow 帖子作为参考:Protractor e2e 测试下载pdf文件的案例。而且我的尝试以某种方式工作得很好,但是基于我使用的 multiCapabilities 配置,脚本仅在 chrome 或 firefox 上命中。

请注意,chrome 将使用以下配置,在此我没有添加 firefox 配置文件设置。因此,Firefox 中的文件下载部分不适用于以下配置。


基于上面提到的url(下载pdf文件的量角器e2e测试用例)我在我的util文件中添加了函数getFirefoxProfile():common.js

然后我更新了 conf.js 如下:

并且getMultiCapabilities: com.getFirefoxProfile在 conf.js 中使用时将覆盖 conf.js 中提到的功能和 multiCapabilities,当我运行我的脚本时,它只在 Firefox 上而不是在 chrome 上执行脚本。关于如何解决这个问题的任何想法?我的要求是登录到 chrome,执行 csv 下载,从 chrome 中注销,然后登录到 firefox 并做同样的事情。

任何帮助将不胜感激..

0 投票
1 回答
644 浏览

javascript - 如何使用 webdriverjs 将组合键发送到页面?

我试图做

但它说方法 keyDown 不存在!有谁知道如何做到这一点?有没有可以看到 webdriverjs api 的地方?

0 投票
0 回答
173 浏览

selenium-webdriver - Protractor/CucumberJS/Gup - 当单个测试失败而不是继续时,e2e 测试停止运行

当您通过像 Bamboo 这样的 CI 服务器运行您的 e2e 测试套件时;您希望在第二天或一小时后回来查看显示有多少测试通过/失败的报告。

就我而言,一旦单个测试失败,我的 e2e 测试就会停止运行,所以我第二天早上回来检查每晚的构建,并且没有显示通过/失败的统计数据的漂亮报告。

检查日志文件,我可以看到在失败的功能之前,日志中有一些黄瓜功能在前面传递;但同样,在我的情况下,失败的功能会暂停/停止执行任何进一步的测试。

错误看起来像:

即使某些功能失败,我如何强制测试套件继续运行,以便我最终可以使用统计信息完成最终报告:通过/失败?

量角器如何处理承诺与 chai/chai-as-promised 的处理方式之间是否存在冲突问题?

0 投票
0 回答
529 浏览

angularjs - 通过 registerHandler 附加的黄瓜事件处理程序现在传递关联的对象而不是

我将黄瓜升级到以下内容:

我注意到这条消息弹出:


通过 registerHandler 附加的黄瓜事件处理程序现在传递关联的对象而不是事件 getPayloadItem 将在下一个主要版本中删除


它还复制了@featureName,即使我故意使用错误的登录凭据登录,它也总是在登录时通过测试。

我之前在传递回调返回承诺时遇到了问题;但我删除了回调并坚持只返回一个承诺,这让我的测试至少可以运行并让我登录;

但是,这一次,即使测试失败,它也始终将测试报告为 PASSING;任何想法 ?

0 投票
1 回答
2807 浏览

angularjs - 消息:函数在 5000 毫秒后超时 - Protractor & CucumberJS

升级到上面的 cucumberJs 版本后,我不断收到此错误。

请注意,我在黄瓜选项块中包含了上面的 env.js,这是我的 env.js 内容:

这是 env.js 文件 // features/support/env.js

0 投票
2 回答
248 浏览

webdriverjs - 我可以从承诺中返回数据吗

我正在寻找有关 SO 问题的更多帮助get a array of elements from findElement(By.className())

这是关于使用 Selenium Webdriver 的 javascript 实现来自动化网站组件。

从引用问题中给出的示例中,我无法弄清楚如何将 allHtml 数组传递回调用方法以及测试逻辑所在的小黄瓜步骤定义。

我已经尝试了几种方法(太多无法记录),并进行了数小时的谷歌搜索。我只是不知道如何从承诺中传回任何东西(一旦解决并且我们定义了 allHtml)。是的,我可以输出到控制台,但这在现实世界的测试场景中没有帮助,我需要根据实际与预期的比较来断言通过或失败。

承诺是痛苦的。它们对我来说是新的,在我把头缠在它们周围之前会很痛。

作为最后的手段(可能是唯一的解决方案),我将研究使用webdriver-sync以避免 webdriver javascript 版本的原生承诺。

任何帮助或指导将不胜感激,如果可能的话,一旦完全解决,如何将事情从承诺中传回。在我看来,Promise 似乎是关于在它们准备好时使用它们,而不是之前或之后。

谢谢,艾尔。

0 投票
1 回答
1213 浏览

jasmine - 量角器 ManagedPromise::2516 {[[PromiseStatus]]: "pending"}

我在 Jasmine 中使用量角器,并使用页面对象模式。在我的一个页面对象中,我试图将鼠标悬停在饼图上。但是当我使用以下方法时,它无法使用 getDisHoverPoint() 获取 x 坐标的值。当我为 getDisHoverPoint() 放置一个记录器时,它返回 ManagedPromise::2516 {[[PromiseStatus]]: "pending"}。请帮忙。

0 投票
2 回答
1078 浏览

protractor - 量角器将鼠标悬停在 SVG 饼图上的 XY 坐标上并返回工具提示值

我来自 WebDriver+Java 背景,是 Protractor、WebDriverJS 和 Jasmine 的新手。我有一个页面对象,我正在尝试定义一个函数,它将悬停在给定 XY 坐标上的饼图上并获取工具提示值并将其返回给调用函数。但到目前为止还没有运气。谁能帮我找到一个更好的解决方案?

使用上述代码获取以下异常。

  • 失败:(size.height / 2).then 不是 D:\workspace\eclipse\IotTester\page\UseCase1\HomePage.js:85:32 在 D:\workspace\eclipse\IotTester\node_modules\protractor\ 的函数内置\element.js :697:28