用谷歌调试工具中的手机模拟器模拟手机进行webapp的开发,与真机上的效果还是有些偏差,opera手机模拟器的效果亦不佳。有时在pc上开发出来的webapp效果良好,在部分真机上就出现了偏差,这时候就需要我们进行微调。
    在pc上微调后发布到测试环境再在手机上看效果,开发很慢,效率很低。这时候就想着有一个可以在手机上调试的工具,可以随时更改参数随时看到手机上的效果,免去发布再测试、模糊估计参数不精准的麻烦,weinre就是一个这样的工具。
    weinre可以在PC上远程调试手机上的页面,和pc浏览器的调试工具类似,在pc上选择代码中的某个标签,对应在手机网页上的部分就会被高亮选中,在pc上更改属性参数,可以立即在手机上看到效果,如下图:
    


weinre的配置和使用方法:


一.配置环境

1. 首先保证你安装了nodejs环境,如果没有,先去官网下载安装。

2. nodejs v0.10已经集成了npm,所以可以直接使用npm安装,在cmd中直接输入:npm install weinre -g。

3. 安装完成后,你会在目录C:\Users\Administrator\AppData\Roaming\npm\node_modules下看到weinre,这便是它的主目录了。

4. 在cmd中运行weinre --httpPort 8081 -boundHost -all- ,启动weinre:在调试过程中保持cmd窗口不关闭

打开浏览器访问192.168.0.20:8081(192.168.0.20是我的本地局域网IP地址,这里需要改成你的),如果出现如下页面,就说明安装成功:

点击debug client user interface:

5.  PC端在本地搭建服务器

weinre已经包含了一个http服务器,它的根目录就是C:\Users\Administrator\AppData\Roaming\npm\node_modules\weinre\web。该目录下放置目标页面。为了组织好你的目标页面,可以在当前目录下新建一个文件夹,如www。

试试在PC上访问192.168.0.20:8081/demo/weinre-demo.html


注意:此句是关键:weinre --httpPort 8081 -boundHost -all-  一定要这样写,区分大小写

--httpPort 8081 :设置访问端口,如果没有这句默认情况下是8080端口。Port首字母必须大写,不大写则设置端口不成功,仍未默认的8080:

另外建议不要用默认的8080端口,改成8081.。因为eclipse在运行项目的时候会用到8080端口,如果把weinre的端口设置成了8080,再启动eclipse的时候,eclipse提示端口冲突运行不起来,可以尝试以下办法关掉占用的8080端口:

 -boundHost -all- :这句是保证用127.0.0.1:8081, localhost:8081, 192.168.0.20:8081(192.168.0.20是我的本地局域网IP地址)都可以访问,没有这句或者少了-boundHost 或者Host没有首字母大写,都不能保证 192.168.0.20:8081可以访问,这点狠重要,因为在手机上只可以访问 192.168.0.20:8081


二.使用weinre调试

1.  PC端访问调试端页面:192.168.0.20:8081 。
2. 手机访问PC服务器目标文件

1.  PC端访问调试端页面:192.168.0.20:8081/client#anonymous
#anonymous为默认的ID,可以改为自定义的ID,这个可以用于多用户调试,参考:http://wyqbailey.diandian.com/post/2011-11-09/20511143


2.手机访问放在服务器内的目标页面:
注意:手机需要连接无线wifi,wifi的地址需要和电脑的IP为同一个网段。比如公司所有电脑在一个局域网,其中一台电脑作为服务器发射出无线wifi,手机直接连接上此wifi,就可以访问weinre服务器了。

为了让需要调试的页面被weinre检测到,需要添加Debug Target,有两种方法:
    (1)Target Script

该方法需要在调试的页面中增加一个js

    <script src="http://192.168.0.20:8081/target/target-script-min.js#anonymous" type="text/javascript"></script>

(192.168.0.20是我的本地局域网IP地址,这里需要改成你的)   
     添加后在移动设备中访问该页面即可,如果调试的页面比较少可以使用这个方法,如果多的话推荐第二种方法

    (2)、Target Bookmarklet(此方法我没弄成功,如果你们知道怎么弄得,再共享下)
    该方法是将一段js保存到移动设备的书签中,可以在 http://192.168.0.20:8081/ 找到这段js:

javascript:(function(e){e.setAttribute("src","http://localhost:8081/target/target-script-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0);

    将这段js保存到名为Debug书签中,然后使用移动设备访问我想要调试的页面,比如说 http://iinterest.net,最后点击Debug书签就OK了。


下面看下效果,这里我用weinre自带的demo页面做示例:
手机连接wifi后访问:192.168.0.20:8081/demo/weinre-demo.html

这时再返回PC看看http://192.168.0.20:8081/client/页面,就出现了手机上访问的目标页面地址:

点击链接,变成绿色,点击上方的elements,就可以调试啦,也就出现了最开始的截图效果:

更改下属性,看看手机上的效果吧~~

注意:当对html文件有更改时,更改的内容不会同步到手机端,必须在PC也访问该页面,进行刷新后,手机端才会同步更新的内容。


总结:

此种方法虽然可以在手机上实时看到调试的效果,但每次都需要把本地的静态文件移到weinre服务器下,然后对目标页面加上js头部,遇到只有jsp没有本地静态html的页面,要么把jsp页面全部或部分转化成html然后放到weinre服务器要么不转化闭着眼睛估计参数修改后发布再看效果......有一定的局限
(我试过将本地静态文件的地址和weinre服务器的地址合并为同一个,这样就不用经常拷贝新版本,但发现weinre安装的默认路径是C:\Users\hp\AppData\Roaming\npm\node_modules,不知道怎么更改此路径o(╯□╰)o,如果你们知道可以进行尝试下)
建议开发webapp时,在PC上全程开发,发布测试版后对手机上错乱的界面且无法利用PC调试的部分用此方法进行调试。

对于手机端访问PC上的静态文件,还可以有以下两种方法(只能访问看效果不能实时调试):
1. 利用nginx
打开nginx配置文件:

重启nginx,手机连接无线网,访问:192.168.0.20/static/login-register/login.html试试吧~
(192.168.0.20是我的本地局域网IP地址,后面的是在我配置的路径D:\woqu_work_svn\m下的文件路径,这里需要改成你的) 
注意:手机需要连接无线wifi,wifi的地址需要和电脑的IP为同一个网段。比如公司所有电脑在一个局域网,其中一台电脑作为服务器发射出无线wifi,手机直接连接上此wifi,就可以访问weinre服务器了。

2. 将静态文件上传至自己的服务器空间

比如,可以将静态文件上传至SAE(新浪云)或自己的域名空间,然后手机访问域名地址(这样做当然是可以访问的了O(∩_∩)O~)

建议:
1.webapp开发的时候,将可以连接的页面加上跳转链接,这样我们在手机上访问测试的链接时,就可以在访问的页面跳转到其他页面,而不用测试一个页面输入一个链接地址,可以输入一次测试多个页面。而对可以连接的页面加上跳转链接对后台人员的更改也没有影响。
2.另外对于从html改到jsp的页面,如果在后期前端人员在jsp上有改动,那么也把改动一并同步到html,这样对后面的测试有帮助,而同步到html的部分也只是部分的改动,并不麻烦。

参考:
http://www.cnblogs.com/lvdabao/p/3436620.html​

如有不正欢迎指出~~

webapp开发调试环境--weinre配置相关推荐

  1. PHP开发调试环境配置(基于wampserver+Eclipse for PHP Developers )

    因为项目需求,需要开发PHP的项目,所以不得不花点时间开始学习PHP,过程非常要抓狂,还没有开始开发已经被一大堆复杂的环境搭建搞疯了 经过多方实验,决定将过程记录下来,也为了让很多跟我一样从零开始学习 ...

  2. keil5(MDK5)配置S3C2440裸机开发调试环境

    源:keil5(MDK5)配置S3C2440裸机开发调试环境

  3. 用pycharm搭建odoo 12, 11,10 开发调试环境

    用pycharm搭建odoo 12, 11,10 开发调试环境 个人认为在windows平台下Pycharm 是最好的 odoo开发工具, 配置简单,操作简便,界面清爽,支持远程调试python,ja ...

  4. vs安装 c语言编译环境,Visual Studio Code安装与C/C++开发调试环境搭建

    目录 简介 VSCode安装 VSCode语言设置 安装开发套件 构建C/C++编译环境 安装Clang 安装MinGW VSCode工程配置 launch.json tasks.json 测试 简介 ...

  5. vscode-armgcc-openocd搭建STM32开发调试环境

    环境配置 一. vscode插件安装 1. 打开vscode, 进入扩展搜索页面 2. 搜索安装: Embedded IDE, Cortex-Debug 二. arm-gcc, openocd安装 a ...

  6. T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门(Trace32、QorIQ Linux SDK和QCVS)

    T2080 U-BOOT与OS内核移植 准备篇(二)--开发调试环境入门(Trace32.QorIQ Linux SDK和QCVS) 一.Trace32 1. 工具配置和软件安装 2. 使用PRACT ...

  7. T2080 U-BOOT与OS内核移植 准备篇(一)——开发调试环境简介

    T2080 U-BOOT与OS内核移植 准备篇(一)--开发调试环境简介 1.本项目选择的工具 2.几个常用工具简介 2.1 Trace32 2.2 Code Warrior 2.3 QorIQ Li ...

  8. 【GNURadio实验报告】实验1-配置Ubuntu22.04+GNURadio开发调试环境

    [GNURadio实验报告]实验1-配置Ubuntu22.04+GNURadio开发调试环境 一.配置虚拟机环境 (一)什么是虚拟机 (二)安装VMware WorkStation (三)安装Ubun ...

  9. 基于Kubernetes1.20.1版本开发调试环境搭建

    接下来的一段时间将要学习Kubernetes源码,为了更好的查看源码和调试程序,因此搭建了一个Kubernetes开发调试环境,该环境可以结合断点调试理解代码的运行过程. 准备虚拟机并安装必要软件 $ ...

最新文章

  1. 黎曼猜想的1/2和质子自旋的1/2会不会是一个数?
  2. 【时间序列】NeuralProphet:Prophet的Pytorch实现!精度更高 预测更快 特性更多!...
  3. django中的项目使用mysql中的配置新建用户授予权限
  4. Java 中创建对象方式
  5. python绘制混淆矩阵_如何实现python绘制混淆矩阵?
  6. 30岁之前需要知道的10个人生底线,你知道几个?
  7. 292021年山西高考成绩查询,山西高考分数线查询时间:2020年山西高考成绩什么时候出...
  8. 讯飞tts语音引擎_讯飞输入法A.I.语音引擎再升级 更强大更实用!
  9. c语言的log算法实现,C语言中有关log函数的算法
  10. Go 环境变量、go env
  11. python2代码转换为python3
  12. 等差数列前n项和公式证明
  13. IDEA如何删除项目-小白实操记录
  14. 10个的常用PyCharm插件
  15. 【Android技巧】通过am完成发送开机广播等操作
  16. EasyRecovery数据恢复软件V15专业版使用操作流程
  17. 微信的消息都要经过苹果服务器吗,为什么微信接收消息有延迟?其实是这5个原因,不知道就太可惜了...
  18. awk分析话单列子 tcp连接失败率,及失败连接的topN
  19. 内存马检测与利用研究的优秀文章汇总
  20. Linux中修改系统启动项grub

热门文章

  1. Ignite Beijing 2019你参加了吗?多图,慎点!
  2. telnet不是内部或外部命令,也不是可运行的程序
  3. @EventListener 的使用
  4. GTK+编程入门(2)—GTK+程序结构
  5. css:使用div绘制一条竖线
  6. Win10安装DNW相关驱动
  7. java的mysql语句规范_mysql 规范
  8. REVIT建模步骤中:绘制形状不能拾取两条参照平面的交点解决方法
  9. ECNU ||西班牙馅饼
  10. Java中Xml解析详解 DOM、SAX、JDOM、DOM4J