问题标签 [e2e-testing]

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 回答
891 浏览

javascript - 如何使用 casperjs 显示每个测试的时间

我有一个带有一个数组的“启动器”脚本,其中包含许多测试的所有名称和路线。当我运行所有测试时,casper 只显示运行所有测试的总时间。我需要显示每个测试脚本需要多少时间,casperjs 有什么方法可以做到这一点吗?

当使用 param 'all' 时,我会运行所有测试。

结果:

我想要这样的东西:

0 投票
1 回答
1113 浏览

javascript - 如何在量角器中跨多个规格共享测试

我正在使用量角器来测试一个 Angular 应用程序。有一个通用的共享功能可以在各种不同的页面上运行——目前我在每个页面的每个单独的规范中都有测试,但是现在正在考虑优化,我非常想让它尽可能 DRY。

获得这样的东西的最佳做法是什么,或者这确实是不好的做法,我应该在每个单独的规范中保留测试。

我为每个规范使用页面对象-但这与我与页面对象->规范具有 1:1 关系的问题相同。

欢迎任何想法:)

0 投票
1 回答
663 浏览

angularjs - 在量角器中检索中继器内的元素

我敢肯定这是一个简单的,但我的眼睛慢慢死在我身上。

基本上,有没有办法在中继器中获取元素?例如,我在转发器中有一堆锚,但是附加到锚的类是通用的,所以类似于:

在这里,我只想获取mainNav转发器中的锚点(更重要的是每个锚点的相应 hrefs)。

我在想filter(),但不完全确定我可以在此处应用什么函数来仅检索所需的锚点/hrefs(这实际上与另一个问题有关,可以在此处找到我正在映射hrefs的地方-量角器单击元素数组)

这就是我的想法......任何帮助将不胜感激:

0 投票
2 回答
2320 浏览

angularjs - 量角器从 dom 中删除元素

由于我们正在使用的模板的奇怪(而且不太酷)行为,我被困在量角器的测试中。

在页面加载时,模板具有将在 1 秒后以这种方式隐藏的叠加层:

*这对我来说感觉很糟糕(不想对此发表评论)

无论如何,我的测试被破坏了,因为它们的运行速度超过一秒,并且抛出了这个错误:

因为明明是叠加层来接收点击的。

我发现了一种在测试中设置超时的解决方法,但这确实会减慢我的套件和 CI/CD 进程。并使测试代码混乱。

这是代码:

我想知道是否有任何方法可以从beforeEach语句中的 DOM 中删除一个元素,以完全删除覆盖,因为我不想测试它,我也不担心它是否坏了。

有什么建议吗?

0 投票
2 回答
641 浏览

javascript - 量角器在窗口上找不到角度

我正在尝试使用量角器编写基本的 e2e 测试。下面是我的测试。我添加了 console.log 以查看我是否可以访问 URL,日志中的输出显示调用的结果browser.getLocationAbsUrl()是一个“待定”( Promise::105 {[[PromiseStatus]]: "pending"}) 的承诺。我得到的错误是Error while waiting for Protractor to sync with the page: "angular could not be found on the window"

我的配置文件很简单:

0 投票
2 回答
2550 浏览

angularjs - 手动安装 Selenium Server 以使用来自古巴的 Protractor (AngularJS)

我正在开发一个 AngularJS 应用程序,我喜欢使用 Protractor(e2e 测试)对其进行测试。我正在遵循这个优秀的指南,但我被困在第 5 步(下载并启动 selenium 服务器),因为住在古巴,当我尝试安装 Selenium 服务器时,我得到一个 403 错误(这是政治问题,不详述)。

问题是如何手动或以其他方式安装它。问候,希望有人可以帮助我。

编辑:

当我跑步时,node_modules/protractor/bin/webdriver-manager update我得到(相关部分):

0 投票
1 回答
43 浏览

javascript - 测试列表中的项目

我想测试添加到列表中的项目是否具有某种价值。我目前的测试看起来像:

我一直在谷歌上寻找一个很好的方法来做到这一点,但还没有想出任何东西。

0 投票
1 回答
126 浏览

protractor - chai.assert() 在断言之前不会在测试中运行方法(chai assert lib with protractor)

我第一次在 SO 上发布问题,我希望我做对了。

该测试所做的是填充输入,在必要时选择下拉菜单并上传文件。

然后测试尝试切换到小部件中的下一个选项卡。

为了确定它是否设法切换到下一个选项卡,我想使用自定义消息进行 chai 库断言。

  • 使用当前代码,断言将返回 true,因为它看到了 infoTab,并且测试将失败,而不会在断言之前运行任何方法

  • 如果我更改断言行以查找“!== true”,那么它将运行方法并继续

无论如何,以不同的方式执行此操作会更好,还是使用期望而不是断言更好?

柴断言 API

柴期望API

0 投票
2 回答
909 浏览

protractor - 哪个是与 selenium + protractor 一起使用的默认 java 版本

由于平台不同,java版本不同,一些测试在mac平台上失败,而在windows平台上通过,反之亦然。

附加:用 Java 6 和 Java 8 测试了相同的测试,同样的事情正在发生。一些测试在 Java 6 中失败|通过,在 Java 8 中通过|失败,因此在不同的浏览器中没有问题。

0 投票
1 回答
787 浏览

testing - TestCafe 框架使用

有人对 Devexpress TestCafe 工具有确切的想法吗?

我发现“用户可以获取在录制时在测试页面上创建的JavaScript代码。用户可以直接将这些代码复制粘贴到任何其他项目中。”

但我不确定用户是否可以在 TestCafe 中执行他/她自己的项目。请帮忙。