• appium准备第一个脚本

    设置DesiredCapabilities

    存在于以下库中:

    1
    org.openqa.selenium.remote.DesiredCapabilities

    Desired Capabilities告诉Appium Server需要哪种ssession。以hash键值对的形式存储。

    常用(android和ios共有的)

    Capability Description Values
    automationName Which automation engine to use Appium (default) or Selendroid
    platformName Which mobile OS platform to use iOS, Android, or FirefoxOS
    platformVersion Mobile OS version e.g., 7.1, 4.4
    deviceName The kind of mobile device or emulator to use iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc…

    Android专用

    Capability Description Values
    appActivity Activity name for the Android activity you want to launch from your package MainActivity, .Settings
    appPackage Java package of the Android app you want to run com.example.android.myApp, com.android.settings
    appWaitActivity Activity name for the Android activity you want to wait for SplashActivity
    appWaitPackage Java package of the Android app you want to wait for com.example.android.myApp, com.android.settings

    获取Android手机型号与设备信息

    1. 在命令行中输入“adb shell”
    2. 进入shell之后,再输入cat /system/build.prop | grep "product"

    输出:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    shell@HS8916QC:/ $ cat /system/build.prop | grep "product"
    ro.product.model=Hisense I635T
    ro.product.brand=Hisense
    ro.product.name=I635T
    ro.product.device=HS8916QC
    ro.product.board=msm8916
    ro.product.cpu.abi=armeabi-v7a
    ro.product.cpu.abi2=armeabi
    ro.product.manufacturer=Hisense
    ro.product.locale.language=zh
    ro.product.locale.region=CN
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=I635T
    ro.hmct.product.fullname=Hisense I635T
    #add for product operator,this value is ct/cu/cmcc
    ro.hmct.product.operator=ct
    ro.hmct.smsregister.product=HS-Hisense I635T
    ro.hmct.product.ua=Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; HS-Hisense I635T
    Build/KTU84L)
    ro.hmct.product.ua.suffix=AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mob
    ile Safari/537.36

    型号:Hisense I635T

    查看具体的参数:

    1
    2
    3
    4
    5
    getprop 查看机器的全部信息参数
    getprop ro.serialno 查看机器的SN号
    getprop ro.carrier 查看机器的CID号
    getprop ro.hardware 查看机器板子代号
    getprop ro.bootloader 查看SPL(Hboot)版本号

    设备通过wifi链接PC


    官方教程

    Appium有很多良好的特性,其中一个是通过wifi连接设备。
    适用于多个设备连接一个server的情况。

    前提:
    Android SDK应该安装在机器上。
    应该安装Android SDK包。

    验证设备已经属于调试模式

    1
    adb devices

    启动设备tcp/ip端口

    首先用USB连接你的Android设备,然后在终端运行命令,它可以启动设备的5555端口使其在网络上可以连接
    在TCP/IP模式下重启adb守护进程,然后监听5555端口(adb的默认端口)

    1
    adb tcpip 5555

    查看设备ip地址

    现在断开USB连接, 确保设备和你的电脑连接同一个无线网络

    查看手机ip,设置—wifi—你连接的wifi—IP地址

    连接

    使用电脑上的adb服务连接设备上的IP地址(使用默认的5555端口)

    1
    adb connect 10.70.108.70:5555

    测试是否连接成功

    1
    2
    3
    C:\Users>adb devices
    List of devices attached
    10.70.108.70:5555 device

    通过wifi连接的特别不稳定,还是usb的方便点。

    找到apk的appPackage和appActivity

    通过命令行

    准备步骤:

    1. 在设备上打开目标app
    2. 保证设备连上了电脑
    3. Andoid SDK已经安装在系统上

    步骤1:打开命令行,输入adb devices查看设备是否连接
    步骤2:输入adb shell进入与设备交互状态
    步骤3:打开目标app如facebook输入以下命令

    1
    dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

    输出:

    1
    2
    mCurrentFocus=Window{2d31b9ee u0 com.facebook.katana/com.facebook.katana.LoginActivity}
    mFocusedApp=AppWindowToken{370ebfde token=Token{ad82319 ActivityRecord{7067260 u0 com.facebook.katana/.LoginActivity t3624}}}

    appPackage是:com.facebook.katana
    aapActivity是:com.facebook.katana.LoginActivity
    第一行斜杠前后的那一串。

    注意:执行命令,要保证app没有锁屏,打开了目标app。

    退出交互模式输入:exit回车。

    其他方法:通过Appium client自动识别,或者,通过第三方识别设备信息的app如SnapDeal。

    使用UIAutomatorviewer

    UIAutomatorviewer在Android sdk和tools文件夹下。用于查看布局层次结构。

    1
    uiautomatorviewer

    第一个appium测试脚本

    运行appium

    打开cmd,输入命令appium

    连接手机

    查看是否连接上,cmd输入adb devices查看设备连接列表。

    编写python测试脚本

    1 安装python-client-appium库:

    1
    2
    pip install Appium-Python-Client

  • windows下testlink环境搭建

    最好不要使用最新版本,新版本未稳定有各种问题,使用最新版本的前一两个版本最好。该篇使用版本 123mysql 5.7php 7testlink 1.9.15 testlink1.9.17还未修改对8.0的代码,有错误,都使用之前的版本。 安装步骤 安...
  • gitbook命令

    安装gitbook命令前提:已经安装nodejs 1npm install -g gitbook-cli 查看版本号1gitbook -V gitbook命令gitbook -h1234567891011121314151617181920U...
  • adb命令

    adb命令adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5...
  • git常用命令

    remote url获取本库的remote地址1git remote -v 添加本库的remote地址1git remote add origin some_url 修改本库的remote地址1git remote set-url origin s...
  • linux下testlink环境搭建

    安装步骤 安装MySQL 安装Apache 安装PHP 安装TestLink 以下试验环境:Ubuntu 16.04 LTS 安装MySQL见安装mysql 安装Apache Apache是世界使用排名第一的Web服务器软件。快速、可靠并且可通...
  • 动态爬虫花瓣家装图片

    装房子时,可能会想收集一些装修作为参考图片,此时可以利用爬虫爬取某个关于家装的专题图片,在花瓣上找了一个专题,学了下简单的爬虫知识,接下来简单记录下思路。 基本步骤发送请求->获取到html内容->分析DOM结构->解析DOM结构-...
  • python第三方库requests

    请求传参通过关键字params传递参数 123payload = {'key1': 'value1', 'key2': 'value2'}r = re...
  • tox管理测试virtualenv

    前言一个所有Python项目维护者都需要面对的问题是兼容性。有时需要同时支持Python 2.x和Python 3.x。当你运行测试时,你只使用特定的版本环境来运行测试,它很可能在Python2.7.5中运行良好但在Python 2.6和3.3出现问...
  • pyinstaller打包exe

    参考官网:http://www.pyinstaller.org/pyinstaller参数使用使用spec文件 安装Windows依赖pypiwin32,新版的pyinstaller已经包含了该模块,不用单独安装。 1pipenv install p...
/8