【发布时间】:2017-02-16 07:40:00
【问题描述】:
有没有什么方法可以从现有的 Ember 应用(ember 版本 >= 2.10)中提取模型数据,而不需要对应用源进行任何更改。
例如,我想对基于 Ember 的 UI 进行一些 Selenium 测试。我的一些初始化代码依赖于 Ember 中的模型。我可以通过一些漂亮的 JS 脚本来提取这些模型吗?
【问题讨论】:
标签: javascript selenium ember.js ember-data
有没有什么方法可以从现有的 Ember 应用(ember 版本 >= 2.10)中提取模型数据,而不需要对应用源进行任何更改。
例如,我想对基于 Ember 的 UI 进行一些 Selenium 测试。我的一些初始化代码依赖于 Ember 中的模型。我可以通过一些漂亮的 JS 脚本来提取这些模型吗?
【问题讨论】:
标签: javascript selenium ember.js ember-data
您无法从其命名空间之外访问store。这意味着如果您无法访问 Ember container,您将无法查找 store。
您必须修改源代码来做一些骇人听闻的事情,例如将主 App store 设置为全局属性(不推荐,因为它会导致内存泄漏)并访问该全局 @ 987654326@ 与您的测试套件。
推荐:依靠 Embers 深思熟虑的验收测试: https://guides.emberjs.com/v2.11.0/testing/acceptance/
如果您确实有权访问 App 实例,您可以:
var store = App.__container__.lookup('store:main');
var post = this.store.peekRecord('post', 1); // => no network request
【讨论】: