Appium学习的点点滴滴

环境安装(WINDOWS)

1 安装Nodejs下载nodejs安装包(http://nodejs.org/download/)安装测试安装是否成功:运行cmd,输入node -v 2 安装android的SKD安装android的sdk包,(http://developer.android.com/sdk/index.html),运行依赖 sdk中的 'android'工具。并确保你安装了Level17或以上的版本 api。设置ANDROID_HOME 系统变量为你的 Android SDK 路径,并把tools和platform-tools两个目录加入到系统的 Path路径里。         变量: ANDROID_HOME           值: D:\android-sdk         设置: Path           值: %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;3 安装Apache Ant安装Apache Ant(http://ant.apache.org/bindownload.cgi)解压缩文件夹,并把路径加入环境变量。         变量: ANT_HOME           值: D:\apache-ant-1.8.2         设置: Path           值: %ANT_HOME%\bin 测试ant环境安装成功:运行cmd,输入ant,如果没有指定build.xml就会输出: Buildfile: build.xml does notexist! Build failed4 安装JDK安装JDK下载解压文件夹 并且设置 M2HOME 和 M2 环境变量,把 M2 环境变量添加到你的系统PATH变量中。          变量: JAVA_HOME           值: C:\Program Files (x86)\Java\jdk1.7.0_01         变量: classpath           值: %JAVA_HOME%\lib;         设置: Path           值: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;   测试环境安装成功:运行cmd,输入java -version 如果成功则出现java信息:5 安装Apache Maven安装Maven(http://maven.apache.org/download.cgi)下载解压文件夹 并且设置 M2HOME 和 M2 环境变量,把 M2 环境变量添加到你的系统PATH变量中。          变量: MAVEN_HOME           值: D:\apache-maven-3.1.1         设置: Path:           值: %MAVEN_HOME%\bin    测试环境安装成功:运行cmd,输入mvn -v 如果成功则出现maven信息:6 npm安装appium(如果npm安装失败可以选择7)使用npm安装appium。 在cmd使用命令npm install -g appium 下在appium(整个过程较慢,请耐心等待)安装成功后,在cmd输入appium出现以下信息表明安装成功:至此,appium的安装过程结束。7 直接安装appium去http://appium.io/下载appnium的windws安装包,然后添加环境变量:C:\Program Files (x86)\Appium;在cmd中输入set path=c重启cmd,输入echo %PATH%检查环境变量,输入appnium启动appnium

第一个测试脚本测试脚本(真机)

还需准备

1 安装Python的setuptools库 (因为安装Python的Selenium库需要用到它)    1) 下载setuptools文件并解压 https://pypi.python.org/pypi/setuptools/12.0.4#downloads       2) 打开CMD窗口,进入解压后的setuptools目录,执行命令python setup.py install 进行安装      D:\setuptools-12.0.4>python setup.py install2 安装Python的Selenium库(Appium是采用WebDriver传输测试请求,利用Selenium的WebDriver功能)       1) 下载selenium文件并解压 https://pypi.python.org/pypi/selenium/2.44.0     2) 打开CMD窗口,进入解压后的selenium目录,执行命令python setup.py install 进行安装        D:\selenium-2.44.0>python setup.py install3 下载Python的HTMLTestRunner.py,保存到Python安装路径的Lib目录下(如C:\Python27\Lib)。    下载地址 http://tungwaiyip.info/software/HTMLTestRunner.html

脚本如下

    class elementA(unittest.TestCase):         def test_(self):               desired_caps = {}            desired_caps['deviceName'] = 'S85P5DJJJNFATO4L'  #adb devices查到的设备名            desired_caps['platformName'] = 'Android'            desired_caps['platformVersion'] = '23'            desired_caps['appPackage'] = 'com.cmbchina.ccd.pluto.cmbActivity'  #被测App的包名            desired_caps['appActivity'] = '.SplashActivity ' #启动时的Activity            driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)            driver.quit()    if __name__ == '__main__':        testunit=unittest.TestSuite()        #定义一个单元测试容器        testunit.addTest(elementA("test_"))  #将测试用例加入到测试容器中            filename="./myAppiumLog.html"        #定义个报告存放路径,支持相对路径。        fp=file(filename,'wb')        runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='Report_title',description='Report_description')  #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述        runner.run(testunit)                 #自动进行测试

如何获取Appactivity

方法一:

查看源代码,没有源代码可以采取自己反编译的方法。这里将用到2个工具,分别是dex2jar和jd-gui。你可以在这里下载目前为止的最新版本以及示例apk。

我们以工具包里的ContactManager.apk为例,简单介绍一下反编译的流程。

    1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex;    2,解压dex2jar-0.0.9.15.zip,并从命令行进入该文件夹;    3,运行命令 d2j-dex2jar.bat path_to\classes.dex 在当前文件夹下得到classes-dex2jar.jar;    4,解压jd-gui-0.3.6.windows.zip得到文件jd-gui.exe;    5,使用jd-gui.exe打开classes-dex2jar.jar;

方法二:
Log的方法

a、启动待测apkb、开启日志输出:adb logcat>D:/log.txt c、关闭日志输出:ctrl+cd、查看日志找寻:Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859msappPackage = com.mm.android.hsyappActivity = .ui.LoginActivity ContactManager git:(master) ✗ aapt dump badging ContactManager.apkpackage: name='com.example.android.contactmanager' versionCode='1' versionName='1.0'sdkVersion:'5'targetSdkVersion:'5'uses-permission:'android.permission.GET_ACCOUNTS'uses-permission:'android.permission.READ_CONTACTS'uses-permission:'android.permission.WRITE_CONTACTS'application-label:'Contact Manager'application-icon-120:'res/drawable-ldpi/icon.png'application-icon-160:'res/drawable-mdpi/icon.png'application-icon-240:'res/drawable-hdpi/icon.png'application: label='Contact Manager' icon='res/drawable-mdpi/icon.png'application-debuggablelaunchable-activity: name='com.example.android.contactmanager.ContactManager'  label='Contact Manager' icon=''uses-permission:'android.permission.READ_CALL_LOG'uses-implied-permission:'android.permission.READ_CALL_LOG','targetSdkVersion < 16 and requested READ_CONTACTS'uses-permission:'android.permission.WRITE_CALL_LOG'uses-implied-permission:'android.permission.WRITE_CALL_LOG','targetSdkVersion < 16 and requested WRITE_CONTACTS'uses-feature:'android.hardware.touchscreen'uses-implied-feature:'android.hardware.touchscreen','assumed you require a touch screen unless explicitly made optional'mainother-activitiessupports-screens: 'small' 'normal' 'large'supports-any-density: 'true'locales: '--_--'densities: '120' '160' '240'

更多相关文章

  1. Android(安卓)PackageInstaller:安装应用的应用
  2. [Traceview]android性能测试
  3. Ubuntu下Android(安卓)NDK的安装及配置
  4. 搭建Android(安卓)x86_64及arm64-v8a操作步骤
  5. JDK ANT ANDROID Configure
  6. Eclipse+PhoneGap生成Android应用。
  7. Android(安卓)检查版本更新 Server后台下载
  8. Android测试框架
  9. qq android 软件 测试结果

随机推荐

  1. android 使用Activity类布局时怎样让图片
  2. Android中Http请求
  3. 第一节(搭建环境)
  4. Android复制粘贴
  5. TimePicker TimePickerDialog
  6. android中的后退键响应事件
  7. 对android的Activity切换时输入法不弹出
  8. Android--launcher启动过程解析
  9. Android系统信息获取
  10. android工具链与GNU工具链的比较