微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 在电子中使用量角器

我正在尝试为 Electron使用 Electron运行的应用程序设置单元测试和e2e测试.我一直在参考许多不同的帖子( this one确实有帮助),但我仍然得到一个我不明白的错误
Message:
  Error while waiting for Protractor to sync with the page: "angular Could not be found on the window"
Stacktrace:
  undefined

我的conf.js文件如下所示:

exports.config = {
    directConnect : true,seleniumAddress: 'http://localhost:4444/wd/hub',baseUrl:"file://home/me/workspace/testing-project/main.js",capabilities: {
        browserName: "chrome",chromeOptions: {
            binary: "/home/me/.linuxbrew/lib/node_modules/electron-prebuilt/dist/electron",args: ["--test-type=webdriver"]
        }
    },specs: ['todo-specs.js'],onPrepare: function(){
        browser.resetUrl = "file://";
        browser.driver.get("file://");
    }
};

考虑到Protractor website上给出的文档,我的印象是我不需要安装任何其他东西(例如Jasmine).
让我感到惊讶的是,尽管main.js的路径(根据Electron的规格启动应用程序)是正确的,但我看不到弹出的Electron窗口中的任何内容.
你们有没有遇到过这个问题?你有设法解决它吗?

显然,使用电子二进制文件还不足以实际启动您的应用程序.但是,通过为应用程序构建二进制文件并将其链接到conf.js文件可以正常工作.
我已经能够将我的文件减少到这个:
conf.js
exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',specs: ['test-spec.js'],chromeOptions: {
            binary: "./dist/myAwesomeApp/myAwesomeAppBinary"
        }
    },onPrepare: function () {
        browser.resetUrl = "file://";
    }
};

通过这种方式,无需描述baseUrl或使用browser.get()或browser.driver.get()来启动Electron中的应用程序.但是,我宁愿不必构建应用程序二进制文件,但我认为现在不可能.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐