问题标签 [funcunit]
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.
funcunit - Funcunit - 为什么我的测试的速度和可靠性会因测试是否在 Chrome 的活动选项卡中运行而有所不同?
我正在使用 Windows 7 上的 Chrome 为应用程序使用简单的登录/注销脚本来尝试 FuncUnit。我注意到测试的速度和可靠性都不同,具体取决于测试是否在当前选择的选项卡中运行铬合金。
如果未选择该选项卡,则测试会快速运行且不会出错。如果选择选项卡,文本输入缓慢,有时甚至不完整(因此在单击提交按钮之前只会输入一半的密码),无法找到清晰可见的元素,测试成功率约为 50%。
我在这里错过了什么吗?事实证明,它甚至不如 QTP 可靠,除非我故意取消选择加载的选项卡,并且我怀疑任何需要用户交互才能可靠通过的自动化测试。
javascript - FuncUnit 无法使用 PhantomJS 运行测试
我一直在尝试创建一系列功能单元测试,以便在使用 PhantomJS 作为浏览器的 Node.js Web 服务器上运行,在另一个站点上测试功能。过去我曾成功使用 FuncUnit 从目标站点本身运行功能测试,但为了测试规模,我创建了一个 Node 项目来执行此操作,在 Heroku 实例上运行。
我使用 Bower 安装了 JQuery、Jasmine(我正在使用的测试运行程序)和 FuncUnit。我被告知 FuncUnit 不支持最新版本的 Jasmine,所以它的版本是 1.3.1 - 所有其他包都是最新版本。Phantom 已安装 NPM,并打开以下页面:
测试运行开始后,我几乎立即遇到错误。下面的部分似乎会导致崩溃,尽管我很难确定哪一行与堆栈跟踪已被证明难以导航完全一致。
这会产生以下描述的错误:
此堆栈跟踪的第一行指向以下函数:
似乎它el
作为 传递给了这个函数undefined
,但是试图调查这个调用的来源让我很困惑。如果有人可以看到缺少的脚本引用或我的测试规范有任何错误可能导致这种情况,我们将不胜感激。谢谢!
编辑
我刚刚注意到,如果我让它继续运行,这个错误每隔 30 秒左右就会重新出现一次。
jquery - 如何在 qunit 窗口(测试窗口)中使用 Funcunit 设置元素的属性
我正在使用 FuncUnit 和 qunit 来测试应用程序。我想将菜单selected
选项的属性设置为.<select>
true
在jQuery
,我可以做类似的事情
为达到这个。但是,在功能单元中,
选择器找到元素并获取(未设置) prop 的值selected
。我想设置元素的道具。
plugins - Funcunit 的开放正在给 Travis 和 CircleCI 等在线 CI 服务带来麻烦
我有一个 donejs 插件 ( https://github.com/riescorp/donejs-typeahead ),我决定使用 funcunit ( http://funcunit.com/ ) 进行 GUI 交互测试。在我的电脑上一切正常,无论是运行测试页面(http://localhost:8080/test/test.html)还是npm test
在控制台上运行。
问题是在 CircleCI 或 Travis CI 上运行测试时,测试不会通过。错误类似于“xxxxx 页面未及时加载!” (见下面的例子)。
有一个简化的分支来显示正在发生的事情(https://github.com/riescorp/donejs-typeahead/tree/testing-open),您可以克隆它,然后运行npm install
,npm test
您会看到它有效。
您可以在此处查看 CircleCI 中错误的详细信息:
- https://circleci.com/gh/riescorp/donejs-typeahead/tree/testing-open
- https://circleci.com/gh/riescorp/donejs-typeahead/74(样本)
Travis 生成相同的错误,但它会失败,因为我正在测试 firefox 和 chrome(travis 不支持 chrome)
示例错误:
1) QUnit "test/test.html" on Chrome 53.0.2785 / Linux 0.0.0: donejs-typeahead GUI Interaction DEBUG TESTS DEBUG 1 Page //../src/donejs-typeahead.html not loaded in time!:
Error: Expected true but was false
at Object.ok (http://localhost:3996/node_modules/steal-qunit/node_modules/qunitjs/qunit/qunit.js:2194:12)
at Object.assertOK (http://localhost:3996/node_modules/funcunit/browser/adapters/qunit.js:12:10)
at http://localhost:3996/node_modules/funcunit/browser/queue.js:168:27
javascript - 如何抑制测试中的 FuncUnit 单元错误?
我有一个 FuncUnit 测试用例,其中我使用
我们的页面中存在一个已知问题,即大约 20 倍左右的网页由于某种原因无法加载。我想在它不加载时重试。但是在 FuncUnit 中,如果无法加载页面,则无法抑制错误。有没有办法抑制 Funcunit 中的错误消息?