发布新日志

  • 内存溢出和内存泄漏的区别

    2017-10-10 22:56:54

  • Genymotion添加手机模拟器步骤详解

    2017-08-10 15:43:42

  • MAC上安装Genymotion的正确姿势

    2017-08-10 15:37:17

  • Mac 完整截取 Safari 网页长图的四种方式

    2017-06-09 09:42:42

    https://www.myzaker.com/article/58aa5fa21bc8e01167000022/

    4. 使用 Mac 自带的打印功能保存完整图片

    这种方式比较麻烦,但是需要的时候可以应急。

    第一步:当你想截取完整网页图片的时候,按 commnad-P 选择打印网页,然后在「纸张大小」中选择「管理自定大小」

    第二步:在高度和宽度中选择合适的数值(你可以放大数倍,然后剪裁即可),即可看到整个网页在一张页面中。
    第三,点击 PDF,选择「存储为 PDF」,再用系统自带的「预览」将 PDF 导出为图片然后适当剪裁即可。
  • 推荐一款Mac下支持滚动截屏的截图软件snip

    2017-06-09 09:37:17

    https://jingyan.baidu.com/article/fec4bce2458d03f2618d8b8e.html


     


    1. 首先你截图的对象要有滚动区域,比如截一个长长的网页,然后开始截屏,鼠标左键单击一下,而不是按着鼠标左键拖动

    2. 当你单击之后,会弹出下面这样一个弹窗,等进度条走完了,它就自动把图截好了

  • PHP性能分析工具 xhprof

    2017-06-05 11:33:12

    安装

    下载/解压

    下载地址: 
    http://pecl.php.net/package/xhprof

    cd /data/soft
    wget http://pecl.php.net/get/xhprof-0.9.4.tgz
    tar -zxf xhprof-0.9.4.tgz
    

    编译/安装

    cd xhprof-0.9.4
    cd extension/
    phpize
    
    ./configure --with-php-config=/usr/local/php/bin/php-config
    #上面的路径是自己本机PHP的配置文件路径
    
    make && make install
    #此处完成后会显示出 xhprof.so 所在的路径,将该文件复制到PHP扩展的目录
    cp /data/soft/xhprof-0.9.4/extension/modules/xhprof.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
    
    这里的目标地址是 php.ini 中 extension_dir 的值。如果 php.ini 中没有 extension_dir 这一项,自己添加到并配置一个目录,然后将 .so 文件复制到其中。
    
    建立分析结果导出目录:
    mkdir -p /data/xhprof/xhprof_data在 php.ini 中添加如下行:
    
    [xhprof]
    xhprof.output_dir = /data/xhprof/xhprof_data
    extension = xhprof.so
    mkdir -p /usr/local/php/include/xhprof/
    在 php-fpm.conf 中添加:
    
    env[XHPROF_ROOT_PATH] = /usr/local/php/include/xhprof/
    #后面在PHP代码中可以通过 $_SERVER['XHPROF_ROOT_PATH'] 来引用,比较方便。
    
    将 xhprof 解压目录下的 xhprof_lib 复制到上面目录中.此步目的是以后在程序中引用里面的类库时更方便,如果不执行该步也可以。
    cp -r /data/soft/xhprof-0.9.4/xhprof_lib/ /usr/local/php/include/xhprof/xhprof_lib
    
    yum install -y graphviz
    #安装图形绘制工具,后面的结果可以通过该工具以图形显示,更直观
    

    查看安装结果

    重新加载 php 配置文件
    service php-fpm reload
    
    在 WEB 页面上查看 phpinfo 或者在命令行中执行:
    php -i | grep xhprof
    
    结果:
    xhprof
    xhprof => 0.9.2
    

    分析结果查看配置

    cp -r /data/soft/xhprof-0.9.4/xhprof_html/ /home/wwwroot/default/xhprof_html
    
    #将 xhprof 自带的结果查看页面复制到本机器的WEB目录下
    
    cp -r /data/soft/xhprof-0.9.4/xhprof_lib/ /home/wwwroot/default/xhprof_lib
    #由于显示结果也用到了 xhprof_lib 里的类库,且里面的代码是按相对路径引用的,所以先直接把该库和页面放在一起
    
    

    使用

    在 PHP 页面顶部加上:

    xhprof_enable(XHPROF_FLAGS_NO_BUILTINS + XHPROF_FLAGS_MEMORY);
    
    

    在页面底部加上:

    $xhprof_data = xhprof_disable();
    include_once $_SERVER['XHPROF_ROOT_PATH'] . "/xhprof_lib/utils/xhprof_lib.php";
    
    include_once $_SERVER['XHPROF_ROOT_PATH'] . "/xhprof_lib/utils/xhprof_runs.php";
    
    $xhprof_runs = new XHProfRuns_Default();
    //数据会保存在php.ini中xhprof.output_dir设置的目录去中
    
    $run_id = $xhprof_runs->save_run($xhprof_data, str_replace(".", "_", basename(__FILE__)));
    //第二个参数是定义文件名称
    

    分析结果

    访问上面的页面后,在结果目录发现有如下文件产生:

    ls -l /data/xhprof/xhprof_data/
    总用量 32
    -rw-r--r-- 1 www www 16080 124 21:24 548060a27725b.co_main_php.xhprof
    -rw-r--r-- 1 www www 16076 124 21:24 548060a2c49f7.co_main_php.xhprof
    

    请求页面: 
    http://yourdomain/xhprof_html/index.php

    页面结果:

    No XHProf runs specified in the URL. 
    Existing runs: 
    548060a2c49f7.co_main_php.xhprof 2014-12-04 21:24:50 
    548060a27725b.co_main_php.xhprof 2014-12-04 21:24:50

    即上面显示的生成的结果文件。 
    点击一个文件查看详细结果,得到:

    PHP性能分析工具 <wbr>xhprof

    PHP性能分析工具 <wbr>xhprof

    转自:http://blog.sina.com.cn/s/blog_5f54f0be0102v995.html


  • cp: omitting directory”错误的解释和解决办法

    2017-05-27 16:40:09

    Linux下拷贝的时候有时候会出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs" 说明bbs目录下面还有目录,不能直接拷贝


    解决办法:递归拷贝  命令:cp -r bbs ../backup/bbs    解释:-r 这个options是递归的意思



    举一反三:删除的时候也可能出现这种下面有文件不能删除的问题   也用-r 级联删除

                   chmod赋予权限的时候想级联也可以用-R 注意是大写的R

  • 使用itunes安装ipa文件

    2017-05-17 14:01:08

  • Jmeter-使用正则表达式提取器获取关联参数

    2017-04-12 18:21:33


    Jmeter的研究一直在跟进,今天讲一下如何使用正则表达式提取器来获取关联参数,还是以我最熟悉的BBS为例吧。

    1、录制BBS登陆、发帖、回帖脚本后,进行筛选,整理后的脚本如下图所示
    Jmeter-使用正则表达式提取器获取关联参数


    2、forum.jsp页面是点击进入第一层的版块页面,下面还有二级版块,这里我要获取进入这个页面后,服务器返回给的二级版块ID,我在获取到这些二级版块的ID,然后进入这些二级版块中,进行发帖,所以在此请求步骤中添加-后置处理器-正则表达式提取器,以供后面请求时使用获取的这个forumid,如下图所示
    Jmeter-使用正则表达式提取器获取关联参数


    3、添加后,解释一下正则表达式提取器各个选项的作用吧!

    我要获取的值原本服务器返回的结果是:以下是左边界和右边界
    Jmeter-使用正则表达式提取器获取关联参数


    解释:
    (1)注释不多说,随便自己喜欢
    (2)Apply to:默认即可
    (3)要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
    (4)引用名称:即参数名称,这个自己定义,在后面时可用
    (5)正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
    (6)模板:$1$代表只有一组数据
    (7)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组
    (8)缺省值:如果参数没有取得到值,那默认给一个值让它取

    4、这样我们的关联参数就可以取得到了,在需要使用这个forumid的地方用${forumid}来表达,当然可以在路经中这样取值
    如下图所示:
    Jmeter-使用正则表达式提取器获取关联参数



    也可以在参数中取值:
    Jmeter-使用正则表达式提取器获取关联参数



    5、当然可以做多个参数,比如版块forumid和帖子topicid,如想在此版块发完帖后,回复刚发完的这个帖子
    那么需要在create.jsp中使用正则表达式提取器来获取提交的topicid进行回复时调用
    Jmeter-使用正则表达式提取器获取关联参数


    指定这个topicid来回复:
    Jmeter-使用正则表达式提取器获取关联参数



    6、最后一步,我们来难证一下结果的正确性:
    图1:我们其实进入的是305这个版块

    Jmeter-使用正则表达式提取器获取关联参数


    图2:post页面也是取的版块305
    Jmeter-使用正则表达式提取器获取关联参数


    以上证明我们取的版块是正确的,是取得到的
  • Jmeter--集合点

    2017-04-12 09:46:41

    http://www.cnblogs.com/zhuque/archive/2012/11/15/2772037.html

    Jmeter中也有集合点,看样子还是很强呀 哇哈哈

    它只是通过计时器Synchronizing Timer实现的假集合点功能。

    没有时间整理,来实际的,直接上图。

    clip_image002

    在线程下添加集合点Synchronizing Timer,设置延迟时间(以毫秒为单位)

    clip_image004

    clip_image005

    挪动集合点到登陆请求的上方,运行脚本后,查看结果

    clip_image006


  • 运行Jmeter时,录制的数据中文乱码问题解决办法

    2017-04-11 17:16:19

    Jmeter安装目录/bin/jmeter.properties中

    sampleresult.default.encoding默认为ISO-8859-1,将参数修改为

    sampleresult.default.encoding=utf-8 即可

    注意将注释符号#去掉,否则不会生效

  • 如何看自己ip地址在Mac

    2017-04-11 17:04:14

  • Jmeter做功能测试的优点和不足

    2017-04-11 16:13:44


    转自http://www.spasvo.com/ceshi/open/kyxncsgj/Jmeter/201724135628.html

    利用Jmeter做功能测试有以下优点:

    Ø         不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执行测试

    Ø         测试脚本不需要编程,熟悉http请求,熟悉业务流程,就可以根据页面中input对象来编写测试用例。

    Ø         测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。

    Ø         可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。

    Ø         利用badboy录制测试脚本,可以快速的形成测试脚本

    Ø         Jmeter断言可以验证代码中是否有需要得到的值

    Ø         使用参数化以及Jmeter提供的函数功能,可以快速完成测试数据的添加修改等

    利用Jmeter做功能测试有以下缺点:

    Ø         使用Jmeter无法验证JS程序,也无法验证页面,所以需要手工去验证。

    Ø         Jmeter的断言功能不是很强大

    Ø         就算是jmeter脚本顺利执行,依旧无法确定程序是否正确执行,有时候需要进入程序查看,或者查看Jmeter的响应数据。

    Ø         Jmeter脚本的维护需要保存为本地文件,而每个脚本文件只能保存一个测试用例,不利于脚本的维护。

    Jmeter和其他功能测试工具在使用中的比较:

    Ø         Jmeter比较适用于数据添加,数据修改,数据查询的测试,使用其他测试工具虽然也可以完成该类测试,但是利用Jmeter添加数据更快,更方便,而且不依赖于界面,只要添加数据的参数不改变,无论界面是否有变动,都不影响针对数据的操作。

    Ø         Jmeter不需要要关注对象是否被识别的问题,而其他测试工具在录制过程中,很容易出现页面对象不能被录制工具识别的问题,因此适用Jmeter,省略了很多关于对象操作的麻烦,更易于使用。

    Ø         Jmeter的适用更主要的是依赖于对被测项目的认知和熟悉,而对于Jmeter自身的适用技巧要求并不是很高,而其他测试工具,关于工具本身需要较长时间的学习。

    Ø         Jmeter能够对复杂的业务逻辑进行处理,而对这些复杂业务逻辑的处理,主要是运用Jmeter自身所带的配置元件来达到,对录制的脚本的修改不大,而使用其他测试工具,要实现复杂业务逻辑的测试,则需要对录制的脚本进行修改,需要工具使用人员有一点的编程能了,因此,使用Jmeter进行测试对测试人员编程能力的要求不高,同时节省大量的修改脚本的时间。

    Ø         其他测试工具的测试脚本可以通过CVS等版本控制工具进行管理,而Jmeter的测试脚本的管理不知道是否可以纳入版本控制,因此,其他测试工具比较适用于大型的,系统的功能测试中,而Jmeter比较适用于随机的,扩展开发不多的项目,也就是说Jmeter使用起来更灵活。

    Ø         其他测试工具有大量的验证点可用,并且能够对界面上的内容进行验证,可以验证更多的内容,测试能够更完全,对于界面变动不大的项目,可以通过修改脚本实现更加全面的自动化测试,而Jmeter提供的断言功能有限,并且不依赖于界面,无法完界面相关内容的验证,用Jmeter测试更需要人工测试,人工确认。

    Ø         Jmeter用作一个辅助测试工具,可以很大的提高测试人员的效率,而其他测试工具当作辅助测试工具并不能达到和jmeter同样的功能。

    Ø         Jmeter做功能测试的脚本可以同样用来做性能测试,这是其他大多数功能测试工具所不能具备的。


  • 移动App崩溃原因

    2017-04-11 15:58:43

    转自:http://www.spasvo.com/news/html/201433180305.html

      移动App崩溃原因

      为什么移动App经常崩溃?App崩溃有几个原因:从平台或环境到开发问题。
      一些崩溃原因(排名不分先后) :
      设备碎片化:由于设备极具多样性,App在不同的设备上可能有表现不同。
      带宽限制:带宽不佳的网络对App所需的快速响应时间可能不够。
      网络的变化:不同网络间的切换可能会影响App的稳定性。
      内存管理:可用内存过低,或非授权的内存位置的使用可能会导致App失败。
      用户过多:连接数量过多可能会导致App崩溃。
      代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败。
      第三方服务:广告或弹出屏幕可能会导致App崩溃。

      移动App崩溃的测试用例设计
      测试用例是移动测试最重要部分之一。
      准备和执行预先定义的针对移动App崩溃的测试用例将简化和加速移动App崩溃的测试。
      一些通用的触发移动App崩溃的测试场景,如下:
      1 验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的App行为。
      2 用新发布的操作系统版本验证App的行为。
      3 验证在如隧道,电梯等网络质量突然改变的环境中的App行为。
      4 通过手动网络从蜂窝更改到Wi-Fi ,或反过来,验证App行为。
      5 验证在没有网络的环境中的App行为。
      6 验证来电/短信和设备特定的警报(如警报和通知)时的App行为。
      7 通过改变设备的方向,以不同的视图模式,验证App行为。
      8 验证设备内存不足时的App行为。
      9 通过用测试工具施加载荷验证App行为。
      10 用不同的支持语言验证App行为。
      显然,还会有更多的导致App崩溃的App特定场景。

  • Jmeter代理服务器录制请求

    2017-04-10 14:35:22

    转自:http://www.cnblogs.com/danqiu/p/6110800.html

    1.文档前提说明

    1)本文使用jmeter的版本为 apache-jmeter-2.13 及以上版本

    2)java版本要求在 1.8.0 以上

    注:jmeter版本一般和java相应的版本一起使用,如果jmeter版本和java版本不对应(不对应指java版本过低,如jmeter为V2.13而jdk为1.6),会导致某些功能不能正常使用.

    2.jmeter 录制网络请求

    2.1 添加jmeter代理服务器

    在jmeter 工作台添加 HTTP代理服务器

     

    代理服务器如图所示:

     

     

    2.2 代理服务器详细说明

    1.名称:代理服务器名称,可以自定义

    2.注释:对此代理服务器的说明,可自定义,默认为空

    3.Global Settings 

       端口:jmeter代理服务器端口

       HTTPS Domains:https协议要监听的域名,如访问www.example.org,可以用*.example.org来表示

    4.Test plan content

       目标控制器:下拉选项,表明在哪个模块下面保存录制的请求,建议增加【录制控制器】,在【录制控制器】下保存录制的请求,如图:

     

     

     分组:下拉框;对录制的请求按照一定方式进行进行分组,一般默认使用【不对样本分组】即可

       记录http信息头、添加断言、Regex matching:勾选框;记录每个请求的request header、断言、正则表达式匹配等,录制一般使用默认勾选就行

    5.HTTP Sampler settings

       Type:http采样器的type类型,默认为空

       Prefix:对每个录制的http请求的前缀命名,默认为空,则录制的请求会按照数字递增的方式进行命名,如:0,1,2......

       自动重定向:勾选框;表示请求是否自动重定向

       跟随重定向:勾选框;表示请求是否跟随重定向

       User KeepAlive:勾选框;表示此http请求的TCP链接是否保持不中断

       从HTML文件获取所有内涵的资源:勾选框,表示是否获取html文件中的资源信息,录制时一般默认不勾选

    6.Content-Type filter

       Include:Content-Type的白名单,表示那些Content-Type可以通过

       Exclude:Content-Type黑名单,表示那些Content-Type被拒绝

    7.包含模式:表示哪些请求信息会被录制,如:*.html

    8.排除模式:表示那些请求信息不会被录制,可点击Add suggested Excludes使用默认排除方式,如下图,表示.bmp、.css、.gif等后缀的相应信息不会被录制

    9.Notify Child Listeners of filtered samplers:是否唤起过滤取样器的后台监听,默认勾选即可

    2.2  添加HTTPS请求所需证书

    由于https请求需要客户端与服务器建立签证,如果使用代理服务器,代理服务器没有证书,所以https协议不能正常通信;jmeter提供了相应的证书,可以使https协议正常通信,安装步骤如下:

    1.chrome浏览器–【设置】–【管理证书】

     

    2.点击【+】号,添加jmeter根证书,默认在jmeter目录/bin目录下

     

    3.将证书设置为永久信任

    2.3  设置网络代理服务器

    在【系统偏好设置】--【网络】--【高级】--【代理】找到【web代理(http)】和【web安全代理(https)】,勾选启动,设置代理服务器的主机和端口

    ,一般主机为本机地址(127.0.0.1),端口号与jmeter代理服务器中设置的端口号相一致

     

     

    2.4  启动代理服务器,录制请求

    点击HTTP代理服务器中的【启动】按钮,则可以在选择的【目标控制器】模块下面看到录制的请求信息

     

    3.其他注意事项

    1.在代理模式下,如果网页有上传文件的操作会失败,原因如下:

    Some browsers (e.g. Firefox and Opera) don't include the full name of a file when uploading files. This can cause the JMeter proxy server to fail. One solution is to ensure that any files to be uploaded are in the JMeter working directory, either by copying the files there or by starting JMeter in the directory containing the files.

    解决方法:

    将上传文件拷贝到jmeter/bin目录下上传即可

     

    2.cookie管理收集;如果请求信息需要携带cookie,则在录制的【目标控制器】模块下添加【HTTP COOKIE 管理器】,jmeter会将cookie信息收集,然后下一步请求会自动携带

  • Jmeter代理服务器录制请求

    2017-04-10 14:10:04

    转自 http://www.cnblogs.com/danqiu/p/6110800.html

    1.文档前提说明

    1)本文使用jmeter的版本为 apache-jmeter-2.13 及以上版本

    2)java版本要求在 1.8.0 以上

    注:jmeter版本一般和java相应的版本一起使用,如果jmeter版本和java版本不对应(不对应指java版本过低,如jmeter为V2.13而jdk为1.6),会导致某些功能不能正常使用.

    2.jmeter 录制网络请求

    2.1 添加jmeter代理服务器

    在jmeter 工作台添加 HTTP代理服务器

     

    代理服务器如图所示:

     

     

    2.2 代理服务器详细说明

    1.名称:代理服务器名称,可以自定义

    2.注释:对此代理服务器的说明,可自定义,默认为空

    3.Global Settings 

       端口:jmeter代理服务器端口

       HTTPS Domains:https协议要监听的域名,如访问www.example.org,可以用*.example.org来表示

    4.Test plan content

       目标控制器:下拉选项,表明在哪个模块下面保存录制的请求,建议增加【录制控制器】,在【录制控制器】下保存录制的请求,如图:

     

     

     分组:下拉框;对录制的请求按照一定方式进行进行分组,一般默认使用【不对样本分组】即可

       记录http信息头、添加断言、Regex matching:勾选框;记录每个请求的request header、断言、正则表达式匹配等,录制一般使用默认勾选就行

    5.HTTP Sampler settings

       Type:http采样器的type类型,默认为空

       Prefix:对每个录制的http请求的前缀命名,默认为空,则录制的请求会按照数字递增的方式进行命名,如:0,1,2......

       自动重定向:勾选框;表示请求是否自动重定向

       跟随重定向:勾选框;表示请求是否跟随重定向

       User KeepAlive:勾选框;表示此http请求的TCP链接是否保持不中断

       从HTML文件获取所有内涵的资源:勾选框,表示是否获取html文件中的资源信息,录制时一般默认不勾选

    6.Content-Type filter

       Include:Content-Type的白名单,表示那些Content-Type可以通过

       Exclude:Content-Type黑名单,表示那些Content-Type被拒绝

    7.包含模式:表示哪些请求信息会被录制,如:*.html

    8.排除模式:表示那些请求信息不会被录制,可点击Add suggested Excludes使用默认排除方式,如下图,表示.bmp、.css、.gif等后缀的相应信息不会被录制

    9.Notify Child Listeners of filtered samplers:是否唤起过滤取样器的后台监听,默认勾选即可

    2.2  添加HTTPS请求所需证书

    由于https请求需要客户端与服务器建立签证,如果使用代理服务器,代理服务器没有证书,所以https协议不能正常通信;jmeter提供了相应的证书,可以使https协议正常通信,安装步骤如下:

    1.chrome浏览器–【设置】–【管理证书】

     

    2.点击【+】号,添加jmeter根证书,默认在jmeter目录/bin目录下

     

    3.将证书设置为永久信任

    2.3  设置网络代理服务器

    在【系统偏好设置】--【网络】--【高级】--【代理】找到【web代理(http)】和【web安全代理(https)】,勾选启动,设置代理服务器的主机和端口

    ,一般主机为本机地址(127.0.0.1),端口号与jmeter代理服务器中设置的端口号相一致

     

     

    2.4  启动代理服务器,录制请求

    点击HTTP代理服务器中的【启动】按钮,则可以在选择的【目标控制器】模块下面看到录制的请求信息

     

    3.其他注意事项

    1.在代理模式下,如果网页有上传文件的操作会失败,原因如下:

    Some browsers (e.g. Firefox and Opera) don't include the full name of a file when uploading files. This can cause the JMeter proxy server to fail. One solution is to ensure that any files to be uploaded are in the JMeter working directory, either by copying the files there or by starting JMeter in the directory containing the files.

    解决方法:

    将上传文件拷贝到jmeter/bin目录下上传即可

     

    2.cookie管理收集;如果请求信息需要携带cookie,则在录制的【目标控制器】模块下添加【HTTP COOKIE 管理器】,jmeter会将cookie信息收集,然后下一步请求会自动携带


  • MAC安装monkey工具

    2017-03-24 18:34:28


    转自http://www.jianshu.com/p/9823ac1fcb69

    一、monkey测试简介:

    monkey工具是Android自动化测试工具的一种,主要对Android,APP可进行压力测试。(总结)

    Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

    二、 Monkey的特征

    1、 测试的对象仅为应用程序包,有一定的局限性。

    2、 Monky测试使用的事件流数据流是随机的,不能进行自定义。

    3、 可对MonkeyTest的对象,事件数量,类型,频率等进行设置。

    三、安装monkey工具

    1》下载安装了JDK

    附JDK官网下载链接http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    下载截图(其中需要同意许可证,同时针对mac下载已标注)


    JD下载页面

    安装成功后,在终端上输入 javac -version 若弹出版本信息,已经安装成功了


    检查jdk的版本

    2》下载Android开发环境的Adt Bundle

    附下载链接http://www.cnblogs.com/tc310/p/3938353.html

    下面是下载截图(针对mac下载已标注)


    Android Adt Bundle

    此时打开终端输入adb会提示-bash: abd: command not found。需要解决Android SDK的adb命令添加到环境变量的问题。

    1.启动终端,进入到当前用户的Home目录(命令在下一行)

    cd $HOME

    2.创建 .bash_profile文件

    touch .bash_profile

    3.打开 .bash_profile 文件,对其内容进行编辑

    open -e .bash_profile

    4.此时文本编辑器会打开一个文本,编辑内容如下:

    export PATH=/Users/JianDan/dev_android/adt-bundle-mac-x86_64-20130729/sdk/platform-tools/:$PATH
    注意:在网上搜索了很多文章,多数写的是 PATH=${PATH}:/eclipse/android_sdk/platform-tools(这样写的解释
    是:如果是需要添加很多命令到PATH下时,需要用“:”(英文的冒号)隔开即可,因为Android和adb这些命令是在不同的
    文件夹中的,这样才能两者兼得.),而没有最后面:$PATH,结果我重复了N次创建删除 .bash_profile文件,也复制
    粘贴了N次PATH=${PATH}:/eclipse/android_sdk/platform-tools,就是配置不对。

    编辑完成后,可直接关闭,此时已保存

    5.更新此文件

    source .bash_profile

    此时的adb环境配置好,可以检验一下

    6.检验是否成功(终端输入)

    adb devices

    配置成功的截图在下面


    adb环境配置步骤

    顺便来一张monkey测试的贴图


    monkey测试成功的例子(黑线是包的名字)
  • 无法安装IOS破解软件的解决方法

    2017-03-20 13:48:22

    执行命令sudo spctl --master-disable
  • 对比IOS自动化工具UIAutomation和Appium

    2017-03-15 17:46:52

    1、ios自动化UIAutomation是苹果xcode自带的工具,肯定比较好用。连上手机(签名的app或者越狱debug包)就可以进行自动化测试了。
    2、再说appium,它原理就是通过selenium的webdriver移植过来的,现在也可以驱动UIAutomation进行自动化测试,优点是可以用任何语言开发,但是工具本身bug多,容易假死。
    所以你2个工具最好都要会用。
  • iOS开发之抓包工具Charles的安装配置及使用详解

    2017-03-14 10:33:13

1953/10<12345678910>
Open Toolbar