在大型项目中的前端测试与开发,通常使用git clone将整个工程目录下载下来,然后本地运行调试。

  然而,当一个项目已经发布到测试机上,需要临时查看某个页面的效果或修改某个页面时,clone整个工程目录显然并不是个好办法。

  本文同时考虑PC本地调试方法及在手机端查看的方法,其总方法如下图所示,具体细节会在后文详细介绍。

  

一、PC本地查看(调试)方法

  如果是静态页面,最简单的方法就是把这个单一页面下载(复制)到本地,然后本地运行调试代码或者看效果。

  但是如果是动态页面,如最终预发布生成的地址为 www.xxx.com/y.html。当页面内包含数据请求接口时,该接口域名应与www.xxx.com一致。

  由于本地测试模拟的环境域名与线上并不一致,所以会导致接口请求变成跨域请求导致请求失败。所以需要进行上图部分1的步骤映射本地host为请求接口的域。其具体方法如下:

  1. 使用该方法首先需具备一个服务器环境用于模拟真实的服务器,即apache、nginx等。
  2. 将本地的host(127.0.0.1或本地IP)指向接口所在域,这里的域为www.xxx.com。 具体方法在chrome下可以使用比较简单的hosts文件管理插件,如下图。
  3. 将需要查看/调试的文件下载到网络目录中,localhost/test.html,其中test.html为目标文件。
  4. 在浏览器地址栏中输入 http://本地IP/test.html,页面本地显示成功。

二、手机端(无线端)查看及简单测试方法

  这种方法仅能用于在手机端查看上文所述的PC端的页面,并能进行简单的数据拦截mock操作。

  其方法如上图的第2、3部分,具体步骤如下:

  1. PC端安装代理软件,本文使用fiddler
  2. PC端安装页面二维码生成插件,如chrome二维码插件的安装
  3. 手机端设置网络代理指向PC端本地IP,端口8888
  4. 手机安装二维码扫描软件
  5. 打开fiddler,手机端扫描PC端待检测页面生成的二维码,即可查看页面成功

  在这个过程中,可以在fiddler中查看到详细的数据传输及数据请求过程,可以通过fiddler对数据的更改从而mock数据查看页面结果。

  可以看到,步骤有些复杂,那么为什么不直接在手机中输入:PC端ip/页面文件目录 呢?

  由于页面中动态数据的请求,其host地址被PC端所映射。而在手机端,并未设置host,会导致跨域请求从而最终导致页面接口的请求失败。所以手机端实际上需要PC端做好hosst地址的映射工作,直接从PC端配置好的服务器环境中浏览数据。所以使用fiddler将PC端服务器环境中已经生成好的(数据请求之后的)最终页面代理一下直接发送到手机端,同时手机端的操作也通过fiddler进行数据代理返回给PC端,由PC端进行数据处理。这样就避免了数据请求跨域的问题。

web前端本地测试方法的更多相关文章

  1. web前端实现本地存储

    当我们在提及web前端本地存储的时候,首先需要介绍一下本地化存储的概念和历史.本地化存储从来不是一个新奇的概念,因为web应用程序一直在追求的就是媲美甚至超越桌面应用程序.但是桌面应用程序一直优于we ...

  2. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  3. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  4. web前端面试试题总结---html篇

    HTML Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器 ...

  5. Web前端性能测试-性能测试知多少---深入分析前端站点的性能

    针对目前接手的web前端的性能,一时间不知道从什么地方入手,然后经过查找资料,发现其实还是蛮简单的. 前端性能测试对象: HTML.CSS.JS.AJAX等前端技术开发的Web页面 影响用户浏览网页速 ...

  6. React 还是 Vue: 你应该选择哪一个Web前端框架?

    学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了. 本文作者也做了总结: 如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue    如果你喜欢简单和“能用就行”的东西 ...

  7. 谈谈Web前端工程师的定位

    原文地址:http://www.360doc.com/content/10/0708/17/1277406_37692580.shtml 2010-07-08  锋子chans   阅 1116  转 ...

  8. web前端工程师在移动互联网时代里的地位问题

    支付宝十周年推出了一个新产品:支付宝的十年账单,我也赶个时髦查看了一下我的支付宝十年账单,哎,感慨自己真是太屌丝了,不过这只是说明我使用淘宝少了,当我大规模网上购物时候,我很讨厌慢速的快递,所以我大部 ...

  9. Web 前端开发人员和设计师必读文章推荐【系列二十八】

    <Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

随机推荐

  1. QSpinBox 和 QSlider 联合使用方法

    在Qt中,有时候我们想要联合QSpinBox 和 QSlider,使得移动滑块,QSpinBox中的数据会变化,或者我们在QSpinBox中输入一个数值,响应的滑块也会变化,如下图所示:

  2. HTML 插入视频

    HTML 5 video 视频标签全属性详解   现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...

  3. cat命令在文件中插入内容

    eg: cat>> xxx <<EOFinsert 1insert 2 EOF

  4. HDU2563 递推

    统计问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. toLowerCase和toLocaleLowerCase的区别

    ECMAScript中涉及字符串大小写转换的方法有4个:toLowerCase().toLocaleLowerCase().toUpperCase()和toLocaleUpperCase().其中,t ...

  6. linux笔记一

    1.桌面环境:gnome,kde等 2.虚拟机网络模式: a.VMnet0:用于虚拟桥接网络下的虚拟交换机 b.VMnet1:用于虚拟HOST-Only网络下的虚拟交换机 c.VMnet8:用于虚拟N ...

  7. 汇编寄存器(内存访问)基础知识之三---mov指令

     1 内存中字的存储 一个字型数据占2个内存单元,内存里面一个内存单元一个字节(8位),高地址单位放高8位,低地址单元放低8位. 注意:0号是地址单元,1是高地址单元(上是低地址,下面是高地址) (1 ...

  8. Ansible (一)

    epel rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y ins ...

  9. BizTalk动手实验(四)Schema开发测试

    1 课程简介 通过本课程熟悉Schema的相关开发技术 2 准备工作 1. 熟悉XML.XML Schema.XSLT等相关XML开发技术 2. 新建BizTalk空项目 3 演示 3.1 格式化XM ...

  10. IOS第七天(6:UiTableView编辑模式, 拖动位置 ,滑动删除)

    **********UiTableView编辑模式, 拖动位置 ,滑动删除 #import "HMViewController.h" @interface HMViewContro ...