zoukankan      html  css  js  c++  java
  • appium入门

    前语:学习需要总结,或许有些知识自己存在偏差,但是能总结出来就会更加加深所学知识

    1.       环境变量配置

    必备软件安装:

    jdk1.6.0

    android-sdk

    python:2.7(3.6也可以)

    appium

    Node.js

    Appium-Python-Client

    环境安装网络上有很多优秀博文,这里就不多赘述。

    参考网页:http://www.hordehome.com/t/appium-python-1/823

                  http://www.hordehome.com/t/appium-python-2/845

                  http://www.cnblogs.com/fnng/p/4540731.html

    2.       Appium Desired Capabilities

     图1

    图2

    如图一,是appium的setting:

    (1)a框内的设置是选择测试apk的一些信息:

           a1.Application Path设置的是选择测试apk的存放路径;

           a2.Package表示测试apk的包名,选择apk路径后会自动填写;

           a3.Launch Activity表示测试apk的Launch Activity,用来启动apk,选择apk路径后会自动获得,但是获得的不一定是正确的Launch Activity,如果是有源码,直接从源码上查看,或问开发apk的工程师,这是针对有测试apk的,如果是自学人员需要拿些别人开发的apk测试学习,下面给几种获取Launch Activity的方法:

         @1.反编译app,个人觉得麻烦,不介绍,有想用的同学可以网上搜索。

         @2. Log查看:

            A.cmd上输入adb logcat –c 清理下log

            B.开启日志:adb logcat (也可以把日志输出,如adb logcat >D:log.txt

            C.启动待测apk

            D.关闭日志输出:ctrl+c
            E.查看日志,如下面信息包含了包名和launch:

            ActivityManager(  847): resumeTopActivityLocked: Resumed ActivityRecord{19c4d12c u0       com.huawei.android.launcher/.Launcher

          @3.cmd上aapt命令查看:aapt dump badging D: estxxx.apk(APK的全名),前提是环境变量配置了android sdk下的build-tools的aapt的路径

          @4.图a3框上选择正确的launch activity,接触多了,自然可以辨别正确的launch activity

           a4框里的fullreset ios表示删除整个模拟器目录,android表示通过卸载,而不是清空数据,来重置应用状态。在android上,这也会在会话结束后自动清除被测应用。Noreset选择表示在会话前不要重置应用状态。

    (2)b框内的设置:

           b1.platformName选择要测试的机器操作系统;

           b2.automationName 选择使用的自动化测试引擎,默认appium,所以没必要修改;

           b3.platformVersion选择机器操作系统版本,就是对应的api。

           b4.deviceName 测试机器的设备名称,把测试机器连接电脑可以通过cmd 输入adb devices查看。

     如图二,是appium general setting:

     可以通过这里设置远程操作测试,具体可以参考下面博文。

     参考网页:http://www.cnblogs.com/puresoul/p/4709189.html

                  http://www.hordehome.com/t/appium-python-6-remote/934

                  https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.cn.md

    3.       脚本简介

    (1)一个dome

    # -*-coding=utf-8 -*-
    
    from appium import webdriver
    import time
    
    #设置Capabilities

    desired_caps = {
    'platformName' : 'Android', 'deviceName' : '76P4C15813005463', 'platformVersion' : '5.1', #测试apk包名 'appPackage' : 'com.huawei.android.launcher', #测试apk的launcherActivity 'appActivity' : '.Launcher', }
    #进入android系统launcher driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) time.sleep(5)

    driver.keyevent('3')

    #进入相机并拍照一下 driver.find_element_by_xpath("//android.widget.TextView[contains(@text,'相机')]").click() time.sleep(2) driver.find_element_by_id('com.huawei.camera:id/shutter_button').click() time.sleep(5) driver.quit()

     这是一个简单的代码,分为三部分,第一部分是申明,第二部分是配置测试app信息,第三部分是app的实际操作。

     三个部分第一和第二部分基本固定,主要是第三部分对app操作控件的获取。例子中测试的apk是系统自带launch,

     所在appium上是没法设置包名和activity,使用appium自带的界面没法运行脚本,一般采用cmd输入appium打开

     appium来运行脚本。

  • 相关阅读:
    C语言-第四周作业
    第8次Scrum会议(10/20)【欢迎来怼】
    例行报告(20171011-20171019)
    C语言--第二周作业评分和总结(5班)
    C语言-第三周作业
    第一次Scrum会议(10/13)【欢迎来怼】
    单元测试之四则运算
    四则运算V1.1
    例行报告(20170927-20171010)
    C语言--第一周作业评分和总结(5班)
  • 原文地址:https://www.cnblogs.com/olivexiao/p/6116983.html
Copyright © 2011-2022 走看看