weinre - CSDN
精华内容
参与话题
  • 移动端Web开发调试之Weinre调试教程

    万次阅读 2015-01-12 12:08:14
    在设计师与前端开发人员的努力下,一个WebApp出炉了,可是测试人员说了一堆的问题:某某机型下页面表现不一致,某某系统下页面如何如何,某某系统浏览器下页面怎么怎么滴。看着满满的测试汇总文档,我们曾经在一个又...

    在设计师与前端开发人员的努力下,一个WebApp出炉了,可是测试人员说了一堆的问题:某某机型下页面表现不一致,某某系统下页面如何如何,某某系统浏览器下页面怎么怎么滴。看着满满的测试汇总文档,我们曾经在一个又一个知名或不知名的手机终端上重复着这些工作:仔细的排查代码,alert可疑的变量,甚至不惜重构来尝试解决这种不一致的问题。虽然说Android 4.0+以上的移动设备支持桌面版Chrome远程调试,而且在Android 4.4以下也仅限于预览Chrome手机版浏览器内部效果,我们无法在问题浏览器下实时联调。此时我们往往无奈地将这些问题归为浏览器兼容性bug。我们暗暗思想着,要是手机端浏览器有个类似Firebug的调试工具就好了!现实不是!移动互联网时代,浏览器发展的趋势、浏览器调试工具发展的未来一定是基于移动端调试的便利性、远程调试的广泛支持。我们大胆预言,支持多终端跨设备跨浏览器的远程调试工具将会越来越多。

     

    Weinre(WebInspector Remote)是一款基于Web Inspector(Webkit)的远程调试工具,借助于网络,可以在PC上直接调试运行在移动设备上的远程页面,中文意思是远程Web检查器,有了Weinre,在PC上可以即时修改目标网页的HTML/CSS/Javascript,调试过程可实时显示移动设备上页面的预览效果,并同步显示设备页面的错误和警告信息,可以查看网络资源的信息,不过weinre不支持断点调试。该项目目前是 Apache Cordova 的一部分。

     

    weinre工作原理

    两张图读懂Weinre的工作机制:


    上述三层结构示意图的含义:

    Debug客户端(client):本地的WebInspector,远程调试客户端。

    Debug服务端(agent):本地的HTTPServer,为Debug目标页面与Debug客户端建立通信。

    Debug目标页面(target):被调试的页面,页面已嵌入weinre的远程js。

    客户端、目标页面与Debug服务端之间使用XMLHttpRequest (XHR)进行HTTP通信,你通常的使用情形是将Debug客户端与服务端搭建在桌面开发环境,Debug目标页面放在移动设备。

    由于Weinre的debug客户端是基于Web Inspector开发,而Web Inspector只兼容WebKit核心的浏览器,所以只能在Chrome/Safari浏览器打开Weinre客户端进行调试。

     

    我在Chrome 38/39版本测试时打开Debug客户端出现页面白板,原因未知,了解原因的欢迎留言给我。换为Safari浏览器打开则正常。

     

    Weinre系统支持性

    iOS 3.1.3或更低版本不支持

    webOS 1.45或更早版本不支持

     

    Debug客户端支持的平台

    weinre的Mac程序(自带客户端) - Mac OSX 10.6 64-bit

    Google Chrome 8及以上版本浏览器

    Apple Safari 5及以上版本浏览器

     

    Debug目标页面支持的平台

    Android 2.2+系统浏览器

    Android 2.2+ 中的phonegap

    iOS 4+ 的safari浏览器

    BlackBerry v6.x 模拟器

    webOS

    chrome8+

    safari5+

     

    关于Weinre的Java版本下载地址无法访问的问题,借用skyhh同学的话,是由于weinre被PhoneGap收购,PhoneGap又被Adobe收购,Adobe收购PhoneGap后,把PhoneGap捐给了Apache,Apache把PhoneGap放在Cordova的项目中。Weinre也从最初的Java移植到了当前的JavaScript。在GitHub上搜索weinre的结果中前两个就是官方的Weinre项目。


    先说第二个项目,是Apache后来推出的JavaScript版本weinre,需要在nodejs环境下安装使用,使用npm包管理工具也可以直接下载安装。

    安装与服务启动命令如下:


    npm -g install weinre  //安装weinre
    
    weinre --boundHost [hostname | ip address |-all-]  --httpPort [port]  //启动weinre


    机器上有nodejs开发环境的同学到此即配置完毕,没有nodejs环境的继续往下看。

     

    第一个项目pmuellr/weinre是Java版的,目前项目已经转移到 http://people.apache.org/~pmuellr/weinre/

    进入后找到二进制jar包的非官方打包地址 http://people.apache.org/~pmuellr/weinre/builds/

    进入后找到1.6.1版本下载解压得到weinre.jar即可使用。

    直接贴出1.6.1版本的jar包下载地址:http://people.apache.org/~pmuellr/weinre/builds/1.x/1.6.1/

     

    其余的项目有的是Grunt下的解决方案,感兴趣的可GitHub自行查看。

     

    安装Java版本的weinre需要有Java开发环境。

    首先安装JDK,并设置环境变量。

    新建系统变量JAVA_HOME,设为安装目录D:\Program Files\Java\jdk1.6.0_43

     

    新建/编辑系统变量classpath,设置为.;%JAVA_HOME%\lib;(注意前面的点与分号)

     

    新建/编辑系统变量Path,设为;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

     

    然后打开命令提示符,输入java –version 如果出现版本号,则表示安装配置正确。

     

    然后进入weinre的解压路径,在命令提示符窗口运行以下命令:

    java -jar weinre.jar --httpPort 8910--boundHost -all-

     

    然后在Safari浏览器地址栏输入http://localhost:8910/,若打开如下所示页面,则表明weinre服务启动成功。


    说明:weinre默认使用8080端口,服务器主机名默认使用localhost,需要修改可在上述命令中进行设置,比如可以绑定为开发机器的内网IP地址。为了能在本地使用localhost打开,又能在移动设备或本地环境用IP地址打开Weinre调试工具,我们需要设置boundHost为"-all-",同时要确保调试页面所在设备与当前开发环境(包括Debug客户端和Debug服务端)都处于同一网段内。Weinre绑定端口一定不能与本地环境已监听的端口冲突,确保绑定的是闲置端口,例如我设置的是8910。

    Weinre还提供了下面的启动参数:

    --help : 显示Weinre的Help

    --httpPort  [portNumber] : 设置Weinre使用的端口号, 默认是8080

    --boundHost  [hostname| ip address | -all-] : 默认是'localhost', 这个参数是为了限制可以访问Weinre Server的设备, 设置为-all-或者指定ip, 那么任何设备都可以访问Weinre Server。

    --verbose  [true | false] : 如果想看到更多的关于Weinre运行情况的输出, 那么可以设置这个选项为true, 默认为false;

    --debug  [true | false] : 这个选项与--verbose类似, 会输出更多的信息。默认为false。

    --readTimeout  [seconds] : Server发送信息到Target/Client的超时时间, 默认为5s。

    --deathTimeout  [seconds] : 默认为3倍的readTimeout, 如果页面超过这个时间都没有任何响应, 那么就会断开连接。

    更多参数可以访问http://people.apache.org/~pmuellr/weinre/docs/latest/Running.html

    MAC OS X系统更为简便,无须命令行,直接运行app即可启动weinre,后续的步骤和windows相同。

    Debug服务端所在的内网IP地址可以在命令提示符中输入ipconfig命令查看

     

    然后我们使用服务端所在IP地址加端口访问:http://本地ip:Port

    例如:http://192.8.104.20:8910/,如下图所示


    TargetScript

    将上图中Target Script部分的js地址加入到你要调试的目标页面内。例如:

    <script src="http://192.8.104.20:8910/target/target-script-min.js#anonymous"></script>

     

    然后在移动设备打开添加过这个脚本的网页,例如我的页面放在本地环境并使用端口8888监听,所以在移动端浏览器需要输入:

     

    。并在桌面环境Safari浏览器打开Debug 客户端用户接口。如下图:

    http://192.8.104.20:8888/newyear2015/crack.html

     

    如果桌面电脑用USB数据线连接了移动设备,但Debug客户端依然显示为weinre:targetnot connected,如下图所示:

     

    这时你可以尝试以下方法:

    1.      检查是否通过USB数据线连接成功(安装驱动)。

    2.      检查Debug客户端桌面环境是否和移动设备处于同一个局域网网段,尤其是WiFi方式上网的情况,一定要防止Wifi自动连接到其他网络中。

    3.      尝试将Target Script 脚本放在html文件的尾部。

    4.      检查Debug调试客户端用户接口的Client id是否与目标页面内target script 中的client id一致。

     

    Target Bookmarklet

     

    使用此方法可以将标签中的代码注入到目标页面代码中。以下是JavaScript代码段:

     

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

     

    该代码段可以通过在手机端浏览器访问对应的url方式获取。例如这里是:

    http://192.8.104.20:8910/target/target-script-min.js

    然后保存为设备书签中。

    以后如果需要调试页面,打开页面后,点击Debug书签就可以在桌面环境开始调试了。

     

    PhoneGapWebApp调试

    PhoneGap WebApp也就是运行在移动设备Webview之内(Android:webview,iOS:uiwebview)的移动应用,因此weinre调试只需要在要调试的目标页面中加入weinre脚本代码即可。

    另外可以安装使用GapDebug应用,GapDebug是一款跨平台的移动设备调试工具,支持拖拽式一键安装,支持重启App后Debug状态恢复,支持断点调试,支持Windows和Mac OS系统,官方地址

    https://www.genuitec.com/products/gapdebug/

     

    多用户调试

    Debug客户端用户接口#号后是一个调试客户端的id,用于在多用户调试时,识别各自不同的调试项目。

    在同一局域网的网段内,大家可以共享weinre调试环境。有一台电脑作为Debug服务器,其他成员只需要一个自己的client id就可以在自己的电脑上开始真机调试了。使用方法同上,这里不再赘述。

     

    Debug客户端中调试方法

     

    如果调试设备连接成功,会显示如下状态:

     


    Elements面板

     

    可以修改html和CSS代码,无须刷新页面,即可在目标设备页面上实时预览效果。

     

    Resources面板


    包括Databases、Local Storage和Session Storage信息,若目标页面用到了缓存,则可以在此看到数据。

     

    Network面板


    由于weinre是基于XMLHttpRequest进行监听的,所以网络面板只显示通过XML HTTPRequest的请求加载的数据,也就是Ajax方式加载的资源。

     

    Timeline面板

     

    Console面板

     

     

    第三方Weinre服务

     

    技术团队可以按照上述步骤搭建一个本地的weinre调试环境,供团队内部使用。除了自建weinre服务器,也可以使用第三方提供的weinre服务。

     

    目前国外的有PhoneGap提供的weinre远程服务,用户可以访问下述网址参看用户远程调试接口

    http://debug.build.phonegap.com/


    方法和上面自建weinre服务没什么区别,这里就不多说了。

     

    其他调试工具

     

    除了介绍过的Chrome 远程调试工具DevTools、weinre远程调试,目前的还有Adobe公司推出的跨平台调试工具Adobe Edge Inspect CC,以及国内网易前端工程师@听奏同学开发的iOS系统专用调试工具MIHTool,也是功能很强大的。这里不一一介绍了。

     

     

    参考文章:

    weinre – Running    http://people.apache.org/~pmuellr/weinre/docs/latest/Running.html

     

    展开全文
  • weinre使用

    2018-12-25 14:44:16
     weinre是远程调试工具,适合移动端web调试 2.安装  npm instanll -g weinre 3.运行  weinre --httpPort 8081 --boundHost -all-  httpPort  调试服务器运行的端口,默认8080  boundHost 调试服务器绑定...

    1.介绍

        weinre是远程调试工具,适合移动端web调试

    2.安装

       npm instanll -g weinre

    3.运行

       weinre  --httpPort 8081 --boundHost -all-

       httpPort   调试服务器运行的端口,默认8080

       boundHost   调试服务器绑定的ip地址或域名,默认localhost

    4.使用

        获取本机的ip

        比如我的ip为192.168.1.35,则在html添加

        <script src="http://192.168.1.35:8081/target/target-script-min.js#anonymous"></script>

        当我在移动端访问http://192.168.1.35:6001,是可以在

         http://localhost:8081/client/#anonymous 下看到下图

        

    这样可以很方便去调试样式,兼容性之类的。

    调试完之后,记得去掉调试代码。

     

    展开全文
  • weinre开发工具的使用

    2019-11-06 17:56:39
    weinre开发工具的使用 写在前面:wap端的开发最后的页面调试,在手机wap端无法进行调试,所以要用到weinre远程调试 正文开始 weinre思否网页地址 weinre貌似是官网(要到墙外) 记录运用简单的运用方式: 全局安装:...

    weinre开发工具的使用

    写在前面:wap端的开发最后的页面调试,在手机wap端无法进行调试,所以要用到weinre远程调试

    正文开始

    weinre思否网页地址
    weinre貌似是官网(要到墙外)

    记录运用简单的运用方式:

    全局安装:
    Mac:sudo npm install -g weinre
    windows:npm install -g weinre
    
    启动:
    weinre --boundHost 当前IP地址
    weinre --boundHost 192.168.XX.XX
    

    1111
    starting server at http://192.168.XX.XX
    点击给出的网址,我们能够看到一个页面
    1234
    将红线内的地址添加到你要调试页面的*.html中去
    4567
    添加好了点击进入在线调试界面(刷新手机)
    8908
    绿色代表链接上了 上面的element就是调试区域
    可以将手机连上电脑进行页面调试

    -end-

    展开全文
  • 移动端调试工具之神器的神奇之处!

    前端开发调试必备:

    1,DOM操作断点调试;

    2,debugger断点调试;

    3,native方法hook(个人暂时还没有试过,不知效果如何);

    4,远程映射本地测试;

    5,Weinre移动调试(详细介绍);

    像Dom断点调试和debugger断点调试我认为是大家经常用到的方法,或者是当前比较火狐下比较流行的Fiexbug调试工具;今天我们主要是研究Weinre调试工具的;

    当然,作为前端开发人员,令人比较乏味的即使手机端各个版本的支持程度,例如就拿iphone来说,虽然都是-webkit内核,如果你添加的动画,如-webkit-translate.......当然考虑到兼容性问题,你会带上前缀-webkit,但你本想手机端大多是支持HTML5和css3的,所以就试下了不带前缀-webkit,结果,呵呵,那么问题来了,iphone5s以下会有问题,以上就没有问题,所以你懂得,最好加上前缀-webkit,不过像最近比较新的版本的Andirod对CSS3的属性支持度还是不错的;

    接下来,我们介绍下重点:

    安装weinre

    weinre可以通过npm按照(个人也是比较推荐的)

       npm install -g weinre  (按照完成后,可以在cmd上,查看下版本号,看是否按照成功)

     

     

    按照之后,可以执行下面的命令来启动:

       weinre --httpPort 8080 --boundHost -all-

    ok!如果没有什么问题的话,我们打开谷歌浏览器(-webkit内核)输入:http://127.0.0.1:8080/   会看到以下界面

     

     

    以上这个便是庐山正面目了,上图的“debug client user interface”是weinre的Debug客户端,点击进入后看到目前还没有被测试的网页:

     

     

    Targets显示的none

    OK!那么我们继续,添加Debug Target

    有两种方式:

    1,Target Script(需要向页面中添加一个js):

    <script src="http://192.168.1.69:8080/target/target-script-min.js#anonymous" type="text/javascript"></script>
    注意:标红的部分是你自己的IP地址和端口号,自己适配去调;
    
    2,我们也可以将一段js保存到移动设备的书签中
    javascript:(function(e){e.setAttribute("src","http://127.0.0.1:8080/target/target-script-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0);
    
    
    最后:手机测试:
    1,手机连接Wifi,必须和电脑在同一段网络,我用的是XAMPP模拟服务器,大家可以上网查用法,然后用自己的手机测试你要测试的网页即可;
    现在回到电脑端  http://127.0.0.1:8080    点击“debug client user interface:”  如果没有问题的话,就已经成功添加了Debug Target:
    
    

    提示:注意手机不要锁屏,不然调试会断开!
    
    2,调试开始:
    
    

    自己可以查查各个组件!
    
    
    
    
    
    展开全文
  • Web移动应用调试工具——Weinre

    万次阅读 热门讨论 2011-04-07 16:09:00
    本文介绍的调试工具Weinre 就是解决这一问题的优秀调试工具。 Weinre是什么?Weinre代表We b In spector Re mote,是一种远程调试工具。举个例子,在电脑上可以即时 的更改手机上对应网页的页面元素、样式表,...
  • weinre的使用

    2016-09-29 08:41:11
    weinre是一款非常好用的远程调试工具。功能与网页浏览器的开发者工具基本类似,但这个工具更适合用于移动端web的调试。 2.安装 weinre基于nodejs,因此首先要安装nodejs,然后使用npm进行安装: npm -g ...
  • 前端远程调试Front-end development used to be (kind of) easy. You could install a bunch of browsers on a couple of different computers / operating systems, physical or virtual, and use the developer ...
  • weinre安装及使用

    千次阅读 2013-07-24 09:19:24
    1.安装node.js 2.安装weinre npm install weinre(Windows请使用Node.js Command ...node node_modules\weinre\weinre(node_modules\weinreweinre安装路径,Windows默认装在:C:\Users\USER_NAME\node_modules\
  • weinre远程调试mobile页面

    千次阅读 2013-05-15 23:03:04
    但是借由weinre, 我们也可以像PC端那样,远程调试webapp。 (以下环境均为windows7) 1) 安装weinre 最新版本的weinre 通过npm进行安装 npm -g install weinre  官方地址: ...
  • 移动调试工具weinre安装和使用

    千次阅读 2014-04-15 22:58:10
    weinre调试服务器基于node.js实现,因此先安装node 运行环境。 1
  • 调试移动端网页工具Weinre使用整理

    千次阅读 2017-02-20 16:15:40
    一、Weinre 说明 Weinre的本意是Web Inspector Remote,它是一种远程调试工具。功能与Firebug、Webkit inspector类似,可以帮助我们即时更改页面元素、样式,调试JS等。 使用Weinre工具,Weinre的本意是Web ...
  • 一直在找js的远程调试工具,查了n多资料,发现weinre 准备入手! ==================== 看教程: 教程1: http://www.imququ.com/post/remote_debugging_with_weinre.html 教程2: ...
  • 使用weinre调试移动端真机

    千次阅读 2017-11-22 10:27:36
    weinre是web inspector remote(远程web检查器)的缩写。本文主要是在node环境下使用。一、安装首先确保你的电脑上有node环境,然后使用cnpm或npm 安装,windows环境下: npm install weinre -g二、运行weinre在...
  • Weinre 的安装和运行 1、安装weinre cmd执行以下命令 npm -g install weinre 2、运行weinre调试服务器 进入目录C:\Users\xxx\node_modules\.bin,这个node_modules可能不同电脑的路径不一样 建立一个空文本,...
  • nodejs安装weinre 及移动端调试网页

    千次阅读 2015-10-08 17:23:16
    安装路径D:\nodejs\node_modules\weinre开启weinre 默认端口 在cmd中执行weinre –boundHost -all- (一定要这样写,区分大写和小写)服务器地址为http://localhost:8080 自定义端口 在cmd中执行weinre –...
  • 移动端真机调试工具--weinre

    千次阅读 2019-06-17 16:18:29
    1. weinre (1)weinre安装 (2)weinre使用 虽然当前各种浏览器都为开发者提供了很多模拟手机设备的功能,但是模拟毕竟是模拟,模拟环境中正常的代码到了真机上访问,仍旧会有各种样式/方法兼容的问题,最近在...
  • 传统pc端web开发过程中,我们常常借助chrome控制台或者firebug等调试工具进行调试。 那么,移动web开发过程中调试怎么办呢?...2、用你npm安装weinre 在控制台运行npm install -g weinre3、启动wei
  • web前端开发远程调试工具Weinre

    千次阅读 2012-05-30 18:43:12
    如今人们也越来越习惯在手机上浏览网页,而在手机上这些针对桌面浏览器设计的网页经常惨不忍睹。...本文介绍的调试工具Weinre 就是解决这一问题的优秀调试工具。   Weinre是什么? Weinre代表We b In sp
  • ionic调试方法总结

    万次阅读 2015-12-03 16:28:40
    您可自由转发此文, 但请保留出处:Ionic在线学习网站 http://www.ioniconline.com 1. 使用ionic serve本地搭建环境(推荐) 在项目目录下(有www文件夹的目录)执行ionic serve,会显示localhost,在电脑浏览器...
  • nodejs环境 nodejs.org绑定host 127.0.0.1 weinre.me(可添加到共用hosts)chrome浏览器 weinre安装 控制台输入  npm install -g weinre  开始调试 启动weinre,控制台输入 weinre --...
1 2 3 4 5 ... 20
收藏数 1,547
精华内容 618
热门标签
关键字:

weinre