疯狂的技术宅

以前出于工作目的,编写和翻译了大量的技术文章,以前端为主,删掉了过时的、毫无营养的内容,留下的都是精华。


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于本站

  • 回到主站

  • 搜索

如何跨多个浏览器和设备同步测试网站

时间: 2021-06-21 分类: 前端技术   字数: 748 字 阅读: 2分钟
标签: #测试# #跨浏览器# #跨设备#

在构建响应式网站时,我们需要在不同大小的屏幕下对其进行测试,来确保页面布局在这些屏幕上正确渲染。当然我们可以很方便的使用 screen-size 和 Chrome 中的设备模拟器 ,但是如果能在真实设备上进行测试那就更好了,因为这样能够提供与用户最接近的环境。

不过在多个设备上进行测试也会带来问题。假设用三台设备来测试网站,每次在进行修改时会一直不断刷新每一个浏览器,这太麻烦了。

所以同步测试的想法应运而生,可以解决这种情况并使工作流程更加精简。有一个名为 BrowserSync 的 Grunt 插件可以胜任这种操作。

BrowserSync 是开源且一直在积极开发维护的。它是跨平台的,可以在 Windows、OS X 和 Linux 中使用。而 Ghostlab 仅适用于 OS X 和 Windows。 最后 BrowserSync 是免费的。

安装

首先,需要使用 Grunt。确保你已经安装了 grunt-cli 以及插件 Grunt BrowserSync 。这个插件用来同步网站上发生的交互,包括页面滚动、填充表单字段和点击链接等。

所有这些操作都会在实时的反映在其他浏览器和设备中。输入以下命令以在你的工作目录中安装 BrowserSync:

npm install grunt --save-dev
npm install grunt-browser-sync --save-dev

配置

安装后,通过下面这种方式在 Gruntfile.js 中加载 BrowserSync。

module.exports = function (grunt) {
    grunt.initConfig({
        browserSync: {
            bsFiles: {
                src : [ 'index.html', './css/*.css' ]
            },
            ghostMode: {
                clicks: true,
                forms: true,
                scroll: true
            },
            options: {
                server: {
                    baseDir: "./"
                }
            }
        }
    });
 
    // load npm tasks
    grunt.loadNpmTasks( 'grunt-browser-sync' );
 
    // define default task
    grunt.registerTask( 'default', ['browserSync'] );
}

这个配置用来监视 style.css 和 index.html,并在检测到这些文件发生修改时自动刷新浏览器。另外还启用了 ghostMode 用来同步网站上的交互,例如滚动和点击。

一切就绪之后运行 grunt 来启动我们在配置中设置的 browserSync 任务。

grunt

与旧版本不同,新版的 BrowserSync 现在能够设置所有使用的内容,包括静态服务器,并通过提供它所在的 URL 来重新加载我们的站点。

BrowserSync

你可以从以下动图中可以看到,所有 更新、更改和交互在浏览器中实时同步,因为更改了 index.html 和 style.css。

browser sync in action

更多资源

下面的资源可以帮你进一步深入研究 Grunt 和“同步测试”。

  • Meet Grunt: The Build Tool for JavaScript — Code+
  • Synchronized Cross-device Mobile Testing — HTML5 Rocks
标签: #测试# #跨浏览器# #跨设备#

标题:如何跨多个浏览器和设备同步测试网站

链接:https://fe-tech.viewnode.com/post/202106/21/

作者:疯狂的技术宅

声明: 本博客文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议( 知识共享署名-非商业性使用-禁止演绎 4.0),转载请注明出处!

关于本站【置顶】
前端应该负责写 API 吗——微服务中的BFF
  • 文章目录
  • 站点概览
疯狂的技术宅

疯狂的技术宅

退休程序员,硬件发烧友,人工智能爱好者。写写代码喝喝茶,晒晒太阳带带娃。

457 日志
8 分类
583 标签
GitHub
友情链接
  • viewnode
  • mofish
标签云
  • Javascript 172
  • Node.Js 62
  • Vue 36
  • Typescript 28
  • 实战项目 28
  • 面试 21
  • React 20
  • Css 17
  • 面试题 16
  • 教程 13
  • Promise 12
  • Chrome 9
  • Debug 9
  • 调试 9
  • 资源 9
  • Deno 8
  • Dom 8
  • 杂谈 8
  • 正则表达式 8
  • 测试 8
    • 安装
    • 配置
    • 更多资源
© 2018 - 2022 疯狂的技术宅 All Rights Reserved
Powered by - Hugo v0.99.0 / Theme by - NexT
Storage by 俺的服务器 / 冀ICP备2022010157号
0%