我需要编写一个自动测试用例(茉莉花测试),该测试用例将以不同分辨率在chrome中运行,以用于移动设备和网络视图 例如,它应该自动将窗口大小调整为 W:375 H:678在茉莉中运行时 不幸的是,我无法找到解决方法
it('It should set sizes according to mobile', async(() => {
//below code is not working
//browser.manage().window().setSize(375, 678);
let innerHeight = window.innerHeight;
neither it won't work following code
window.resizeTo(375, 678);
}));
答案 0 :(得分:0)
您是否正在使用业力赛跑者进行此测试?我认为因果报应无法控制测试中的窗口大小。您只能使用启动器配置来设置窗口大小。否则,用量角器/硒进行端到端测试是另一种解决方案。
答案 1 :(得分:0)
最终我能够找到答案
可以通过安装npm install karma-viewport
这会将全局变量视口暴露给测试,从而可以设置视口的尺寸
需要在karma.conf.js中配置视口大小,如下所示
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ["viewport"]
// Viewport configuration
viewport: {
breakpoints: [
{
name: "mobile",
size: {
width: 320,
height: 480
}
},
{
name: "tablet",
size: {
width: 768,
height: 1024
}
},
{
name: "screen",
size: {
width: 1440,
height: 900
}
}
]
}
})
}
然后在规格文件中,您可以访问屏幕尺寸
it('should load the mobile view ', () => {
viewport.set('mobile');
});