webrtc 应用程序的自动化测试
Automated testing of webrtc application?
我正在开发一个会议应用程序,详细信息:
-
目标:铬浏览器
-
服务器:节点.js(当前为Windows ENV)
最简单的测试场景是:
- 打开
- 两个浏览器选项卡(如果需要,请打开浏览器)
- 模拟按钮单击两者。
- 模拟接受获取用户媒体请求(最难的部分)
- 更多的仿真内容和读取JavaScript变量值并验证它们。
到目前为止,我一直在为所有这些进行手动测试,但决定从长远来看这是不切实际的。我没有做太多的自动化测试(只是一些单元测试)。最初,我以为mocha
会胜任这项工作,但开始认为这还不够。
我需要一些关于实现浏览器启动、选项卡打开和授予媒体共享权限所需的tools or alternate test frameworks
指示。
Chrome 有命令行标志,用于跳过 get UserMedia 权限以及使用虚假设备:
- --
- use-fake-ui-for-media-stream (跳过 GUM 权限提示) -
- -使用假设备进行媒体流(使用假设备)
查看 http://blog.andyet.com/2014/09/29/testing-webrtc-applications,http://googletesting.blogspot.se/2014/08/chrome-firefox-webrtc-interop-test-pt-1.html 了解背景信息
如果你想点击按钮,标准工具是硒。如果你更喜欢Javascript而不是Java,像 webdriver.io 这样的绑定可能是你正在寻找的。
如果你喜欢Ruby,看看Capybara。 您可能还希望使用 Xvfb,以便可以在没有显示器的计算机上运行测试。
这是一个示例片段,可让您使用Philipp建议的开关打开Chome。 我用它来创建一个无头视频录制测试。
Capybara.register_driver :chrome do |app|
switches = %w(disable-popup-blocking disable-translate use-fake-ui-for-media-stream use-fake-device-for-media-stream test-type)
Capybara::Selenium::Driver.new(app, browser: :chrome, switches: switches)
end
如果你正在寻找webrtc测试,你可能希望看到loadmultiplier..,之前在这里回答过。
相关文章:
- 使用Jest测试React Native应用程序
- Protractor:在Iframe中测试非角度应用程序
- 使用Node.js在应用程序引擎上进行本地单元测试
- 如何在rails应用程序中测试AJAX加载的内容
- 单页应用程序的javascript集成测试
- 测试Ember.JS应用程序失败,返回ReferenceError:未定义Ember
- 如何设置Selenium以自动化独立的桌面Web应用程序(Node WebKit)
- webrtc 应用程序的自动化测试
- 如何测试 Web 应用程序的客户端,尤其是商业产品的自动化测试
- 自动化测试安卓应用程序
- 支持自动化测试的主干JS应用程序的BDD
- 用于测试基于Java的web应用程序自动化的托管代码
- 用于在纯客户端测试应用程序(javascript/jquery)中维护状态和管理i/o的体系结构
- 在Windows Phone 8.1模拟器中测试应用程序设置
- web应用程序中的自动化测试
- 测试应用程序:javascript中的按钮不起作用
- 防止用户在测试应用程序中重新加载/刷新页面的方法
- 全新的角度.制作一个非常简单的测试应用程序
- 如何在移动端测试应用程序
- 如何为HTML和JS编写实时测试应用程序并捕获页面加载事件