Test artist

发布新日志

  • Android自动化测试

    2011-10-20 11:46:21

    最近team在为Android Tablet的性能测试实现自动化。
    monkeyrunner和python是不能不学的,基本上所有的自动化脚本都是通过这两者实现。
    当然还有功能程序,这个嘛目前我只管使用,缺乏代码功底以及对Android系统的了解,这些程序是写不出来滴。
     
    自动化的基本实现过程很简单:
    功能程序:实现某功能,如模拟swiping手势等,一般需push到android设备上跑起。
    python:脚本语言,需在python脚本中导入monkeyrunner所要使用的模块:from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice,如此便可调用monkeyrunner的属性(变量和方法)了:)
    monkeyrunner:实现和Android设备的通信,执行python脚本
     
    实际操作:
    【环境】
    一台装有Android SDK以及安装好python的server,
    一台Android系统的设备,
    该Server和Android设备处于同一网段,
     
    【执行】
    在Server上export “ADBHOST”的值为Android设备的IP地址。
    在Server上执行命令:monkeyrunner XX.py   //XX.py被视作monkeyrunner的参数,monkeyrunner会与ADBHOST指向的设备进行通信,执行XX.py中的语句。
     
    【转载一篇Android自动化测试的入门文章】:
     
     
    Android自动化测试中比较常用的一个命令 -- am:
    am是一个android命令,用于启动一个activity或service
    1)如通过am启动一个视频播放:
    在adb shell中输入命令:am start -a android.intent.action.VIEW -d  file:///path_to_the_video_file.mp4  -t video/mp4
    通过执行以上命令可播放指定的video。
     
    2)如通过am启动一个apk应用(如启动JetBoy.apk):
    前提:JetBoy.apk已经安装到设备上了。
    在adb shell中输入命令:am start -n com.example.android.jetboy/.JetBoy
     
  • 几个工具

    2010-09-10 17:07:22

    QPST
    QXDM
    BusHound
  • 为Ubuntu安装JDK1.5

    2010-06-12 18:06:59

    第一次编译Android源码时,使用Jdk6没有编译通过,可能需要用Jdk5。
    直接使用命令:apt-get install无法获取jdk5包,可能已从源库中移走。
    所以需要到SUN网站上手动下载。

    1 首先从网上搜索下载:jdk-1_5_0_22-linux-i586.bin(47M)

    2 下载到本地后(假如将jdk5下载到了目录/home/yvon/download下),进行安装:
      cd /home/yvon/download
      chmod 777 jdk-1_5_0_22-linux-i586.bin
      sudo -s ./jdk-1_5_0_22-linux-i586.bin
      然后会出现大篇幅的协议内容,一路回车即可,知道问你要不要安装,选择yes.
      安装成功后,会在当前目录下生成一个目录: jdk1.5.0_22

    3 安装好后,还必须配置环境变量
      sudo gedit /etc/profile.d/java.sh
      这样可以在所有的用户中使用
      在新的java.sh中输入以下内容:
       #set java environment
       export JAVA_HOME=/home/yvon/download/
    jdk1.5.0_22
       export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
       export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

      保存。
      重启机器。

    4 重启机器后,使用如下命令查看
      1) 查看安装成功与否
      java -version
      显示信息:
      java version "1.5.0_22"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
      Java HotSpot(TM) Server VM (build 1.5.0_22-b03, mixed mode)
      则安装成功。

      2) 查看环境变量修改成功与否
      echo $JAVA_HMOE
      echo $CLASSPATH


    5 最后,就可以编译Android源码了,具体编译过程可参考本空间中的另一篇文章:
    Build the Android work environment in Ubuntu Linux


    安装Jdk5后编译通过!




  • SD Stress Test

    2009-11-10 15:49:45

    Topic: Android手机,对SD卡进行压力测试

     

    解压附件后, 先读readme.txt

    SDcard_StressTest.zip(1.17 MB)

     

    由于是针对Android手机,所以adb工具是必须的。

    adb工具.zip(745 KB)

     

     

    测试点:

    1. SD卡作U盘时,测试PC与SD卡间的数据传输, 对应脚本: r_usb_sd.bat 和 w_usb_sd.bat

    2. SD卡在手机内部,即非PC U盘时,测试SD卡的读写性能, 对应脚本: rw_sd.bat

    3. 测试PC与SD卡之间的adb push&pull, 对应脚本: test_usb_push.bat

    4. 反复不断格式化SD卡, 对应脚本:Format_sd.sh。 具体过程:umount SD->Format SD->Re-mount SD->Write file to SD->umount SD->...

     

    目录elftools中存放的是可能要用到的工具.

    目录r_sd是运行r_usb_sd.bat脚本期间,从SD卡中读出文件的存放位置.

    目录push是执行test_usb_push.bat脚本要用到的目录.

     

    除了Format_sd.sh这一个脚本, 其他4个bat脚本都可以双击直接执行!

    Format_sd.sh需要用到mkfs.ext2 mkfs.ext3 以及 mkdosfs这3个工具.

    mkfs_ext.zip(1.05 MB)

     

     

  • adb [转]

    2009-09-04 11:02:12

     

    adb(Android Debug Bridge)

    是Android提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:

    1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;

    2、在设备上运行shell命令;

    3、管理设备或手机模拟器上的预定端口;

    4、在设备或手机模拟器上复制或粘贴文件;

     

    以下为一些常用的操作:

    1、安装应用到模拟器:

    adb install <path_to_apk></path_to_apk>

    比较郁闷的是,Android并没有提供一个卸载应用的命令,只能自己手动删除:

    adb shell

    cd /data/app

    rm app.apk

    (听说可以这样)

    1. 1 卸载软件[code]
    adb uninstall <软件名>
    adb uninstall -k <软件名>
    [/code]如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

     

    2、进入设备或模拟器的shell:

    adb shell

    通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

    adb shell [command]

    如:adb shell dmesg会打印出内核的调试信息。

     

    3、发布端口:

    你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

    adb forward tcp:5555 tcp:8000

     

    4、复制文件:

    你可向一个设备或从一个设备中复制文件,

    复制一个文件或目录到设备或模拟器上:

    adb push <source> <destination></destination></source>

    如:adb push test.txt /tmp/test.txt

    从设备或模拟器上复制一个文件或目录:

    adb pull <source> <destination></destination></source>

    如:adb pull /addroid/lib/libwebcore.so .

     

    5、搜索模拟器/设备的实例:

    取得当前运行的模拟器/设备的实例的列表及每个实例的状态:

    adb devices

     

    6、查看bug报告:

    adb bugreport

     

    7、记录无线通讯日志:

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

    adb shell

    logcat -b radio

     

    8、获取设备的ID和序列号:

    adb get-product

    adb get-serialno

     

    9、访问数据库SQLite3

    adb shell

    sqlite3

     

    ===============================

    进入adb shell后,
    运行“am -help”,可以查看“am”命令的帮助信息,试试运行“am start -n com.google.android.browser/com.google.android.browser.BrowserActivity”看看?呵呵,在模拟器里面可以看到运行了浏览器,哈哈,就是这么简单(简单个P,为了找这个东西花了我好久的时间)。
    还有:
    //运行浏览器,打开中华网
    # am start -a android.intent.action.VIEW -d http://www.china.com
    am start -a android.intent.action.VIEW -d http://www.china.com
    Starting: Intent { action=android.intent.action.VIEW data=http://www.china.com }

    //拨打电话,号码是123456789
    # am start -a android.intent.action.CALL -d tel:123456789
    am start -a android.intent.action.CALL -d tel:123456789
    Starting: Intent { action=android.intent.action.CALL data=tel:123456789 }


    # am start -a android.intent.action.ALL_APPS
    am start -a android.intent.action.ALL_APPS
    Starting: Intent { action=android.intent.action.ALL_APPS }

    //google地图,到shanghai这个点包(注:点包为方言,就是地方的意思)
    # am start -a android.intent.action.VIEW geo:0,0?q=shanghai
    am start -a android.intent.action.VIEW geo:0,0?q=shanghai
    Starting: Intent { action=android.intent.action.VIEW data=geo:0,0?q=shanghai }


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/unix_fans/archive/2009/08/20/4465032.aspx

     

     

     

  • Build the Android work environment in Ubuntu Linux

    2009-07-07 14:28:50

    详细步骤如下:


    [实际操作中, 按照蓝色标记出的命令顺序执行即可! 建立起整个环境可能要花费4-6个小时!]


    1. 下载并安装需要使用的软件

    打开ubuntu终端,使用 "sudo apt-get install" 命令来在线安装需要使用的软件,待安装的软件有flexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essentialcurlgit...

    输入命令:
    $ sudo apt-get install  git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

    由于需要下载的包很多,所以执行这条命令需要花上几个小时的时间.




    2. 创建工作目录
    在home下创建一个名为android的目录,作为今后的工作目录, 且需在这个工作目录下创建一个bin目录:

    $mkdir /home/android
    $cd /home/android
    $mkdir bin




    3.
    下载并安装 "repo" 版本管理工具

    由于 Android 项目官方采用 "repo" 来做同步管理,所以这里只有使用 "repo" 才可以做代码同步。

    将下载 "repo" 到工作目录 android 的 bin 目录下:

    $curl http://android.git.kernel.org/repo > /home/android/bin/repo
    $cd bin
    $chmod a+x repo



    4. 下载源码

    $cd /home/android

    $./bin/repo init -u git://android.git.kernel.org/platform/manifest.git -cupcake
     
    执行这一条命令时通常情况下会出现 error 提示(如果是以前没有创建过repo账户的话),这个错误可以忽略。最后的 -cupcake 是为了下载 cupcake 版本,如果不加的话,下载的是 master 版本,master版本属于开发测试版本,很多功能还不稳定.

    $repo sync            // 这一条命令是真正地去下载 android 源码, 可能要花上几个小时

    下载完后, 进入/home/android/可以看到 Android 的源码目录如下:

        –repo  –主要是同步管理所用到的一系列文件   (也可能无)
        –bionic  –Android
    编译过程所需要的一些库
        –bootable  –
    负责启动和备份的一些文件
        –build  –
    最主要的一些makefile和编译配置文件
        –dalvik  –
    经过Google优化了的java虚拟机
        –development  –
    开发用的一些文件夹,包括模拟器和工具等
        –external  –Android
    工程中引入的外部功能库
        –frameworks  –
    中间件部分
        –hardware  –
    和硬件有关的一些支持文件,包括wifi,电信模块等
        –kernel  –
    经过了优化和修改的linux内核
        –packages  –
    所有的上层应用包
        –prebuild  –Android
    编译工具所在目录
        –system  –
    一些系统级文件

        -Makefile   -进行系统编译的make文件



    5.  编译系统

    使用 make 命令编译 android 系统.

    $cd /home/android/
    $make

    第一次进行整体编译,这个过程大概持续23小时,默认情况下,会在/home/android/目录下生成一个out文件夹,所有的编译生成物都在这一目录下。



    6. 编译开发工具

        Android提供了完整的开发工具和交叉编译工具,这些都包含在源码内, 所以只要对源码正确编译,就可以获得这些工具, 另外, Android的移植工作也需要这些工具的支持。
       
    编译Android开发工具的步奏如下:
        $cd /home/android/
        $make sdk
       
    编译成功后, 生成的工具会包含在/home/android/out/host/linux-x86/sdk/目录下的android-sdk_eng.root_linux-x86的文件夹里:

        $cd /out/host/linux-x86/sdk/
       
    可以看到这里有了一个名叫android-sdk_eng.root_linux-x86的文件夹,这个文件夹基本包含了Android的模拟器和所有的开发调试工具。 打开这个文件夹,可以看到这里主要由以下几部分组成:
        –add-ones  –
    需要增加的新工具路径
        –docs  –
    关于模拟器和各种开发工具的说明等
        –platform  –
    模拟器和开发工具需要的文件
        –tools  –
    模拟器和开发工具的应用程序



    7.  使用模拟器

    工具生成后, 小试一把: 创建android手机模拟器.

    进入 ~/android-sdk_eng.root_linux-x86/tools 目录下,这里有很多Android的工具,其中模拟器对应的应用程序是 emulator

    下面是正确使用模拟器的步奏:
        $./android create avd –n NO1 –t 1
       
    这个命令用于创建avd,按自己的需要做出一些选择后,名称为NO1avd就创建成功了,以后可以通过这个命令创建的avd来使用模拟器。 (1.4之前的版本不需要这样创建,1.5版本后不正确创建是无法使用的 )
       

        $./android list avd
       
    这个命令用来检查创建是否成功,如果成功会将信息列出来。


        $./emulator –avd NO1
       
    这个命令是启动刚才创建的名为 NO1 的模拟器。   没什么问题的话,我们就可以看到Android操作系统的虚拟界面了。






Open Toolbar