10

我找到了很棒的单元/e2e 测试工具karma。我用angular编写了简单的 chrome 扩展。我想为它编写自动化测试,但不仅是单元测试,还有端到端测试。我写了这样的东西(将打开我的角度扩展选项页面):

 it('Go to options page', function() {
   browser().navigateTo('chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options');
 });

我为 karma-chrome-launcher 删除了“--user-data-dir”和“--disable-default-apps”,(因为我希望我的扩展在“业力测试”期间保持在 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“omnibox”。

chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options

沙盒错误意味着无法通过业力对谷歌浏览器扩展进行端到端测试?我可以将 chrome 设置为特殊的“非安全”模式来进行测试吗?

谢谢,

4

2 回答 2

2

我不认为业力情景赛跑者有能力做到这一点。您可以尝试Protractor,它使用 WebDriver 并且 karma 场景运行器将被它替换。

于 2013-07-28T22:24:24.957 回答
0

如果您尝试设置代理怎么办?喜欢

proxies = {
    '/': 'chrome-extension://aopgehikihpnclbfeohobanjecpiefho/'
};

在你的karma-e2e.conf.js文件中,然后

browser().navigateTo('/html/application.html#/options');

在测试中?

于 2013-07-26T13:33:06.767 回答