ember.js Ember测试失败,原因是'testem.js未加载?'

wfauudbj  于 2022-11-05  发布在  其他
关注(0)|答案(3)|浏览(133)

我得到下面的错误消息下面提到的一个成员项目当运行本地测试与ember test。大部分时间PhantomJS挂起。
$ ember test

not ok 1 Chrome - error
---
    message: >
        Error: Browser failed to connect within 30s. testem.js not loaded?
        Stderr: 
         2018-07-13 11:24:43.115 Google Chrome[47537:547312] Errors logged by ksadmin: KSKeyedPersistentStore store directory does not exist. [com.google.UpdateEngine.CommonErrorDomain:501 - '/Library/Google/GoogleSoftwareUpdate/TicketStore' - 'KSKeyedPersistentStore.m:368']
        KSPersistentTicketStore failed to load tickets. (productID: com.google.Chrome) [com.google.UpdateEngine.CoreErrorDomain:1051 - '/Library/Google/GoogleSoftwareUpdate/TicketStore/Keystone.ticketstore'] (KSKeyedPersistentStore store directory does not exist. - '/Library/Google/GoogleSoftwareUpdate/TicketStore' [com.google.UpdateEngine.CommonErrorDomain:501])
        ksadmin cannot access the ticket store:<KSUpdateError:0x100404060
            domain="com.google.UpdateEngine.CoreErrorDomain"
            code=1051
            userInfo={
                function = "-[KSProductKeyedStore(ProtectedMethods) errorForStoreError:productID:message:timeoutMessage:]";
                date = 2018-07-13 03:24:43 +0000;
                productids = {(
                    "com.google.Chrome"
                )};
                filename = "KSProductKeyedStore.m";
                line = 102;
                NSFilePath = "/Library/Google/GoogleSoftwareUpdate/TicketStore/Keystone.ticketstore";
                NSUnderlyingError = <KSError:0x100515350
                    domain="com.google.UpdateEngine.CommonErrorDomain"
                    code=501
                    userInfo={
                        date = 2018-07-13 03:24:43 +0000;
                        line = 368;
                        filename = "KSKeyedPersistentStore.m";
                        function = "-[KSKeyedPersistentStore(PrivateMethods) validateStorePath]";
                        NSFilePath = "/Library/Google/GoogleSoftwareUpdate/TicketStore";
                        NSLocalizedDescription = "KSKeyedPersistentStore store directory does not exist.";
                    }
                >;
                NSLocalizedDescription = "KSPersistentTicketStore failed to load tickets.";
            }
        >
        [47537:28675:0713/112447.920274:ERROR:ssl_client_socket_impl.cc(1026)] handshake failed; returned -1, SSL error code 1, net_error -107
        [47537:28675:0713/112448.006779:ERROR:ssl_client_socket_impl.cc(1026)] handshake failed; returned -1, SSL error code 1, net_error -107
        2018-07-13 11:24:52.494 Google Chrome Helper[47600:548065] Couldn't set selectedTextBackgroundColor from default ()

    Log: |
        { type: 'error',
          text: 'Error: Browser failed to connect within 30s. testem.js not loaded?' }
        { type: 'error',
          text: '2018-07-13 11:24:43.115 Google Chrome[47537:547312] Errors logged by ksadmin: KSKeyedPersistentStore store directory does not exist. [com.google.UpdateEngine.CommonErrorDomain:501 - \'/Library/Google/GoogleSoftwareUpdate/TicketStore\' - \'KSKeyedPersistentStore.m:368\']\nKSPersistentTicketStore failed to load tickets. (productID: com.google.Chrome) [com.google.UpdateEngine.CoreErrorDomain:1051 - \'/Library/Google/GoogleSoftwareUpdate/TicketStore/Keystone.ticketstore\'] (KSKeyedPersistentStore store directory does not exist. - \'/Library/Google/GoogleSoftwareUpdate/TicketStore\' [com.google.UpdateEngine.CommonErrorDomain:501])\nksadmin cannot access the ticket store:<KSUpdateError:0x100404060\n\tdomain="com.google.UpdateEngine.CoreErrorDomain"\n\tcode=1051\n\tuserInfo={\n\t\tfunction = "-[KSProductKeyedStore(ProtectedMethods) errorForStoreError:productID:message:timeoutMessage:]";\n\t\tdate = 2018-07-13 03:24:43 +0000;\n\t\tproductids = {(\n\t\t\t"com.google.Chrome"\n\t\t)};\n\t\tfilename = "KSProductKeyedStore.m";\n\t\tline = 102;\n\t\tNSFilePath = "/Library/Google/GoogleSoftwareUpdate/TicketStore/Keystone.ticketstore";\n\t\tNSUnderlyingError = <KSError:0x100515350\n\t\t\tdomain="com.google.UpdateEngine.CommonErrorDomain"\n\t\t\tcode=501\n\t\t\tuserInfo={\n\t\t\t\tdate = 2018-07-13 03:24:43 +0000;\n\t\t\t\tline = 368;\n\t\t\t\tfilename = "KSKeyedPersistentStore.m";\n\t\t\t\tfunction = "-[KSKeyedPersistentStore(PrivateMethods) validateStorePath]";\n\t\t\t\tNSFilePath = "/Library/Google/GoogleSoftwareUpdate/TicketStore";\n\t\t\t\tNSLocalizedDescription = "KSKeyedPersistentStore store directory does not exist.";\n\t\t\t}\n\t\t>;\n\t\tNSLocalizedDescription = "KSPersistentTicketStore failed to load tickets.";\n\t}\n>\n[47537:28675:0713/112447.920274:ERROR:ssl_client_socket_impl.cc(1026)] handshake failed; returned -1, SSL error code 1, net_error -107\n[47537:28675:0713/112448.006779:ERROR:ssl_client_socket_impl.cc(1026)] handshake failed; returned -1, SSL error code 1, net_error -107\n2018-07-13 11:24:52.494 Google Chrome Helper[47600:548065] Couldn\'t set selectedTextBackgroundColor from default ()\n' }

1..1

# tests 1

# pass  0

# skip  0

# fail  1

Testem finished with non-zero exit code. Tests failed.

测试系统.js:/*jshint node:true*/ module.exports = { "framework": "qunit", "test_page": "tests/index.html?hidepassed", "disable_watching": true, "launch_in_ci": [ "Chrome" ], "launch_in_dev": [ "PhantomJS", "Chrome" ] };
已安装的版本:MacOS Sierra 10.12.6 node: 6.12.2 npm: 5.6.0 ember: 2.12.0 ember-cli: 2.18.2 phantomjs: 2.1.1

下面是我的tests/index.html文件的一部分:

<script src="testem.js" integrity=""></script>
<script src="assets/vendor.js"></script>
<script src="assets/test-support.js"></script>
<script src="assets/myApp.js"></script>
<script src="assets/tests.js"></script>

也尝试了ember test --server,但同样的错误。所以有人知道如何缩小这个范围,为什么testem没有加载吗?

rnmwe5a2

rnmwe5a21#

对于测试来说,通常你需要在headless模式下运行chrome,并启用远程调试。在testem.json中添加以下代码行应该会有所帮助:

"browser_args": {
  "Chrome": [
    '--headless',
    '--disable-gpu',
    '--remote-debugging-port=9222',
    '--window-size=1440,900',
  ]
}

我还建议删除“PhantomJS”行-由于this issue,Phantom可能不能与最近的Ember版本一起工作。

hgb9j2n6

hgb9j2n62#

使用以下设置更改了testem.js,并且运行正常:)

/* eslint-env node */
module.exports = {
  test_page: 'tests/index.html?hidepassed',
  disable_watching: true,
  launch_in_ci: [
    'Chrome'
  ],
  launch_in_dev: [
    'Chrome'
  ],
  browser_args: {
    Chrome: {
      mode: 'ci',
      args: [
        '--disable-gpu',
        '--headless',
        '--remote-debugging-port=0',
        '--window-size=1440,900'
      ]
    }
  }
};
ckx4rj1h

ckx4rj1h3#

如果您已经检查了明显的浏览器设置,但它仍然不起作用:看看是否设置了EMBER_ENV=test

相关问题