问题标签 [web-component-tester]

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

web-component-tester - 试图理解 pathMappings

我有一个聚合物项目,我正在使用(部分)结构

在编写 my-element.html 时,我希望它的 html 导入引用表单的 url ../polymer/polymer.html。这意味着我需要将 app/elements 和 bower_components 都映射到同一个 url(如果它们存在,则优先转到 app/elements,否则它应该回退到在 bower_components 目录中查找它们。

我试图设置我的wct-conf.js文件这样做。在玩了很多调试器之后,我到了这一点,我认为可以做到这一点,

但是,一旦我运行 gulp test:local 来运行它们,我就会收到大量报告 404 的奇怪 url。他们是这样的

它设法以某种奇怪的方式app/elements合并bower_components

我做错了什么,我该怎么做?

0 投票
2 回答
397 浏览

javascript - web-component-tester : 在 Chrome 中测试成功但在 Firefox 中失败

我正在使用命令行中的 web 组件测试器在我的 Polymer 组件上运行基于夹具的测试。测试成功 Chrome (v.47) 但在 Firefox (v.42) 中失败。问题是,在我的 Polymer 组件中的某些更改观察器函数中,预期的数据正在 Chrome 中接收,但在 Firefox 中为空,导致后者的测试失败。以下是基本代码:

聚合物组件:聚合物({ 是:'组件名称',

在 Chrome 中,上面“这一行”中的“this.data”的值是非空的,无论在 html 夹具中传递什么。这使我的测试用例能够成功。但是在 Firefox 中,从事件接收到的 'this.data' 的值是一个空数组 [],导致上述测试失败。任何想法为什么会这样?

我还尝试将我的测试套件包装在“WebComponentsReady”事件的事件侦听器中,即使 web-component-tester 已经确保套件仅在此类事件触发后才启动。这种方法在 Chrome 中仍然有效,在 Firefox 中仍然失败。

0 投票
0 回答
475 浏览

javascript - 使用 web-component-tester w/o sinon server 测试 ajax 请求的基本模式是什么?

如何使用 web-component-tester 和聚合物设置以下元素/测试,以便 (1) XHR 请求完成,(2)然后断言运行,导致 (3) 测试通过?

/my-element.html

/my-element-test.html

背景

我们想在不使用 web-component-tester 中提供的 Sinon 服务器的情况下测试 ajax 调用(也就是说,我们想进行真正的xhr 调用。我们这样做是因为 xhr 请求应该从文件中返回内容是从不同的系统自动生成的。

FWIW,我尝试在各个地方放置回调和承诺,包括使用 Iron-ajax 元素,但我似乎找不到解决这个问题的理想方法。到目前为止,我发现的唯一解决方案是创建一个名为“executeTests”的事件,这看起来很奇怪。

0 投票
3 回答
3270 浏览

polymer - 使用 wct 使用 Iron-ajax 测试聚合物 1.0 组件

我最难模拟服务器对自定义组件中的 Iron-ajax 组件的响应。这是我的代码文件。

自定义组件.html:

自定义组件-tests.html

您会注意到我明确地调用了 iron-ajax generateRequest,因为如果我没有这样做,那么在我的测试完成(并且失败)之前,该请求甚至不会发生。当显式调用 generateRequest 时,我至少能够使请求发生,但是(即使我正在调用 server.respond())iron-ajax 直到测试完成后才会调用 _handleResponse。而且,即使这样做,它也不会设置 lastResponse ,因为在 iron-ajax 中有一行代码检查是否 (request === this.lastRequest) (它不是)。

我究竟做错了什么?

0 投票
1 回答
845 浏览

selenium - Web 组件测试器 504 网关超时

我为我的聚合物应用程序安装了 Web 组件测试器。从我的项目运行 wct 命令给我这个错误。有没有人遇到过这个问题?

0 投票
0 回答
321 浏览

unit-testing - 使用 Web 组件测试器配置 mocha-teamcity-reporter

我希望将我的 Web 组件测试器 (WCT) 测试报告给 TeamCity-CI。由于 WCT 使用 mocha 作为测试框架,我认为使用mocha-teamcity-reporter是有意义的。

问题是; 如何使用额外的记者配置 Mocha/WCT?

0 投票
1 回答
721 浏览

polymer-1.0 - Polymer WCT - 在 ubuntu 中找不到浏览器 chrome

只需在 Ubuntu 中启动并运行聚合物入门工具包,尝试在安装 Java 并已安装 chrome 后运行测试。

我已配置为使用 chrome 运行测试(因为使用 firefox 的测试失败),当我运行命令“gulp test”时出现以下错误

'wct:local' 在 367 毫秒后出错错误:未找到以下浏览器:chrome。(找到所有已安装
的浏览器:firefox)

不知道我在这里缺少什么,
wct.conf.js

0 投票
1 回答
214 浏览

polymer - 酱汁实验室中的聚合物异步测试超时,但不是本地

我为 Polymer Web 组件创建了几个测试。测试是根据 polycast #36 中提供的指南编写的。当我在本地使用 Web-Component-Tester 运行测试时,一切都很好并且我的测试通过了。当我在本地浏览器(chrome 和 firefox)中运行测试时,一切都很好。

我还建立了 Travis-CI 和 Sauce Labs 进行自动化测试。Travis 可以在 shell 中本地运行 WCT。这非常有效,我的测试通过了。然而,当 WCT 在启用了 sauce 插件的情况下运行,并且测试在 sauce labs 浏览器上运行时,只有异步测试会失败。

我的测试正在等待一个 JS 事件被触发。我认为该事件从未收到。WCT 的输出并没有真正的帮助。它只是抱怨 done() 方法从未被调用过。

WCT 和 Sauce Labs 是否有其他人遇到同样的问题?如果是这样,是否有人对这些异步测试有解决方案?

编辑 1: 我应该补充一点,我的组件包装了本机 websocket。异步测试等待组件在捕获 websocket 事件后重新触发的 websocket 事件。

0 投票
1 回答
436 浏览

polymer - 如何在测试夹具中使用 dom-bind?

如何在web-components-tester<template is="dom-bind"><test-fixture>使用?

我曾尝试以 Polymer 0.8x-template方式使用它:

这自然会失败,因为dom-bind没有stamp方法。

然后,我尝试将其从原生<template>元素中剔除:

但在非 Chrome 浏览器中,只有这一点outside dom-bind

有没有办法让它工作,或者它只是 web-components-tester/test-fixture/dom-bind 中的一个阻塞错误?

0 投票
3 回答
3349 浏览

javascript - 使用 Sinon.js 测试 navigator.browserLanguage 或 navigator.language

如何使用sandbox.stub测试框架Sinon覆盖例如navigator.languagenavigator.userAgent测试?

当我尝试使用以下内容时:

然后我会收到以下错误:Cannot stub non-existent own property language

这些存根都不能按预期工作:

  • sandbox.stub(window.navigator, '语言', lang);
  • sandbox.stub(navigator, 'browserLanguage', lang);

正在嘲笑导航器对象

有什么提示吗?