一.代理问题
情况介绍:
由于公司无法构造无线网络环境,所以我MAC必须使用有线+AP的方式共享网络,让测试人员来测试。由于测试人员连接的是QA环境,我开发连的是INT环境,但是2个环境都必须使用相同域名访问。而且手机连接AP的时候,还需要我试用代理软件来实现DNS访问(修改本地hosts)。我使用的是paros.
出现问题:
1.测试人员和我用相同域名,不同IP地址
2.APP有下载文件的功能,发现大文件下载,大概50M左右,用PAROS作为代理就发现无法正常访问的情况,所以不能用PAROS测试
3.解决DNS问题。
问题解决:
用自动代理来解决问题,建立两个脚本,int.pac(开发用代理),qa.pac(测试用代理)
代码如下:
function FindProxyForURL(url,host) { if(shExpMatch(host,"*.apple.com")) return "PROXY 172.17.40.33:80"; else return "DIRECT"; }
然后放在本地服务器,只要手机连的AP能访问到就行,然后设置无线环境的代理,『自动』里填写你所放的自动代理文件的地址。一切搞定!
二.远程调试网页(ios6 Safari自带功能)
可以手机上调试各个网站,目前只支持mac版本safari
1.首先在设置--Safari--高级--Web检查器 打开状态
2.将设备连接到MAC PC上
3.打开Mac电脑上的Safari,然后“开发”菜单下会发现你的设备名称“XXX的iPOD”
4.你的手机用Safari打开一个网站,这个时候可以看到你PC设备的Safari下有可以跟踪的应用,点击后会弹出Safari的调试器,就可以远程调试手机上的页面了
chrome的调试可以参看:http://www.yjhong.com/chrome-remote-control/
三.远程调试网页(Weinre(本意是Web Inspector Remote),只能调试自己的网页)
1.下载:http://download.csdn.net/detail/jerryvon/5458071,这里直接下载jar包,下载好之后放在一个文件夹里就行不需任何处理。
2.运行命令行:java -jar weinre.jar --httpPort 8081 --boundHost -all- (如下图):
3.打开本地浏览器,(使用webkit内核浏览器(chrome、safari))访问http://localhost:8081/,不出意外的话可以看到weinre的基本信息。
4.点击debug client user interface:这个就是实际的调试入口,点击进去后将会看到相应的设备上所打开的页面请求
5.需要debug的页面要加入相应的脚本
方式一:
<script src="http://192.168.0.106:8081/target/target-script-min.js#anonymous" type="text/javascript"> </script>方式二:
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);
6.电脑启动服务(比如:Tomcat),然后手机连接在和电脑同一个局域网,随后在手机上打开对应的内网地址,这个时候就可以在前面打开的调试窗口中调试网页了。