我想知道是否有一种对 Chromecast 接收器应用程序进行自动化系统测试的好方法?
如果您在 Chrome 浏览器中打开应用程序 URL,cast_receiver 库在以下位置找不到 websocket 连接:
ws://localhost:8008/v2/ipc
Run Code Online (Sandbox Code Playgroud)
由于它处理应用程序和 Chromecast 硬件之间的通信,我正在考虑类似 Node.js websocket 服务器的东西,它可以与 chromecast 接收器应用程序通信。有没有这样的系统,或者有谁知道谷歌是否有计划为这种测试发布一些东西?
另外,chromecast浏览器和chrome浏览器的区别会不会有其他问题?据我了解,chromecast 浏览器只是 chrome 的一个子集,这让我觉得它应该可以工作。
我使用 Ramda.js 作为选择器函数,以访问 Redux 存储中的数据。我想要的是将我的选择器定义为不引用state
选择器所作用的函数,例如:
const getUserName = path(['user', 'name']);
const name = getUserName({
user: {
name: 'Some Name'
}
});
Run Code Online (Sandbox Code Playgroud)
这对于简单选择器来说很容易,但有时对于组合选择器来说会成为问题。
这是一个示例,其中一些items
需要解决,由它们id
在对象上引用:
const getItemById = id => state => path(['items', id], state);
const getConnectedItemIds = obj => path(['items'], obj);
const getItemsFromObj = obj => state => {
const ids = getConnectedItemIds(obj);
return ids.map(id => getItemById(id)(state));
};
Run Code Online (Sandbox Code Playgroud)
第一个函数可以很容易地在不引用 的情况下表达state
,而第二个函数则无需引用obj
,我认为这称为无点风格。但是如果没有 ,如何编写第三个函数state
呢?
我正在寻找如何使用 Ramda 重写第三个函数,以及与此相关的规则和程序,例如(不知道其是否属实):
所有组合函数都需要将state
其作为最后一个参数,以便能够在最终组合中将其拉出。