Angular 7:Jasmine单元测试可自动在移动设备和Web上显示窗口大小

时间:2019-05-06 10:16:34

标签: angular karma-jasmine angular7

我需要编写一个自动测试用例(茉莉花测试),该测试用例将以不同分辨率在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);

  }));

2 个答案:

答案 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');
  });