我发现了很棒的unit/e2e测试工具karma。
我用angular编写了简单的chrome扩展名。我想为此编写自动化测试,而不仅是单元测试,还包括端到端测试。
我写了这样的东西(将打开我的 Angular 扩展选项页面):
it('Go to options page', function() {
browser().navigateTo('chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options');
});
我删除了karma-chrome-launcher的'--user-data-dir'和'--disable-default-apps',(因为我希望我的扩展名在“karma测试”期间保留在chrome中)
但是我收到了下一条错误消息“沙盒错误:无法访问应用程序文档”。 :
browser navigate to 'chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options'
http://localhost:9876/base/tests/e2e/scenario.js?1372429335000:9:5:
Sandbox Error: Application document not accessible.
Chrome 27.0 (Windows): Executed 2 of 2 (2 FAILED) (0.254 secs / 0.139 secs)
Chrome选项-很久以前不推荐使用no-sandbox 。
我确定我没有记错,选项页面可以正常打开,但来自Chrome“多功能框”。
chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options
沙盒错误意味着无法通过 karma 对Google chrome扩展进行端到端测试吗?
我可以将chrome设置为仅用于测试的特殊“非安全”模式吗?
谢谢,
最佳答案
我不认为 karma 场景运行者能够做到这一点。您可以尝试Protractor,它使用WebDriver, karma 运行者将被替换。
关于angularjs - 如何使用 karma 测试e2e谷歌浏览器扩展程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17369462/