问题标签 [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.
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
。
我做错了什么,我该怎么做?
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 中仍然失败。
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”的事件,这看起来很奇怪。
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) (它不是)。
我究竟做错了什么?
selenium - Web 组件测试器 504 网关超时
我为我的聚合物应用程序安装了 Web 组件测试器。从我的项目运行 wct 命令给我这个错误。有没有人遇到过这个问题?
unit-testing - 使用 Web 组件测试器配置 mocha-teamcity-reporter
我希望将我的 Web 组件测试器 (WCT) 测试报告给 TeamCity-CI。由于 WCT 使用 mocha 作为测试框架,我认为使用mocha-teamcity-reporter是有意义的。
问题是; 如何使用额外的记者配置 Mocha/WCT?
polymer-1.0 - Polymer WCT - 在 ubuntu 中找不到浏览器 chrome
只需在 Ubuntu 中启动并运行聚合物入门工具包,尝试在安装 Java 并已安装 chrome 后运行测试。
我已配置为使用 chrome 运行测试(因为使用 firefox 的测试失败),当我运行命令“gulp test”时出现以下错误
'wct:local' 在 367 毫秒后出错错误:未找到以下浏览器:chrome。(找到所有已安装
的浏览器:firefox)
不知道我在这里缺少什么,
wct.conf.js
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 事件。
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 中的一个阻塞错误?
javascript - 使用 Sinon.js 测试 navigator.browserLanguage 或 navigator.language
如何使用sandbox.stub
测试框架Sinon覆盖例如navigator.language
或navigator.userAgent
测试?
当我尝试使用以下内容时:
然后我会收到以下错误:Cannot stub non-existent own property language:
这些存根都不能按预期工作:
- sandbox.stub(window.navigator, '语言', lang);
- sandbox.stub(navigator, 'browserLanguage', lang);
正在嘲笑导航器对象。
有什么提示吗?