day06-Appuim

Appium入门的第一个例子

手机驱动对象

  驱动对象会帮助我们完成手机和脚本之间交互.

导入driver对象

  from appium import webdriver

声明手机驱动对象

  只有声明驱动对象我们才可以让手机完成脚本的操作,声明的方法如下:

    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)  # 声明对象后会直接启动参数中的应用

    desired_caps: ???

手机启动参数

 desired_caps:负责启动服务端时的参数设置,appium server 与手机端建立会话关系时,根据这些参数服务端可以做出相应的处理
 desired_caps常用参数:
    platformName         平台的名称:iOS, Android, or FirefoxOS
    platformVersion      设备系统版本号
    deviceName           设备号 IOS:instruments -s devices,Android: adb devices
    app                  安装文件路径:/abs/path/to/my.apk or http://myapp.com/app
    appActivity          启动的Activity
    appPackage           启动的包
    unicodeKeyboard      unicode设置(允许中文输入)
    resetKeyboard        键盘设置(允许中文输入)
    # server 启动参数
    desired_caps = {}
    desired_caps['platformName'] = 'Android' 
    desired_caps['platformVersion'] = '5.1'
    desired_caps['deviceName'] = '192.168.56.101:5555'
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True

脚本内启动其他app

  driver.start_activity(appPackage,appActivity)

关闭app

 driver.close_app()  # 关闭当前操作的app,不会关闭驱动对象

关闭驱动对象

driver.quit()   # 关闭驱动对象,同时关闭所有关联的app

实例代码

  from appium import webdriver

  import time

  # server 启动参数
  desired_caps = {}
  # 设备信息
  desired_caps['platformName'] = 'Android'
  desired_caps['platformVersion'] = '5.1'
  desired_caps['deviceName'] = '192.168.56.101:5555'
  # app信息
  desired_caps['appPackage'] = 'com.android.settings'
  desired_caps['appActivity'] = '.Settings'

  driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

  time.sleep(5)

  driver.quit()

手机控件查看工具uiautomatorviewer

工具简介

用来扫描和分析Android应用程序的UI控件的工具.

如何使用

 1.进入SDK目录下的tools目录,打开uiautomatorviewer

    2.电脑连接真机或打开android模拟器

    3.启动待测试app

    4.点击uiautomatorviewer的左上角Device Screenshot,会生成app当前页面的UI控件截图

 5.选择截图上需要查看的控件,即可浏览该控件的id,class,text,坐标等信息

 APP元素定位操作

手工测试主要通过可见按钮操作,而自动化是通过元素进行交互操作.
    ⚠️⚠️⚠️ 元素的基本定位基于当前屏幕范围内展示的可见元素

Appium常用元素定位方式

前置代码

 通过id定位

通过class定位

通过xpath定位

 通过class方式定位一组元素

通过xpath方式定位一组元素

WebDriverWait 显示等待操作

 APP元素信息操作API

点击元素

发送数据到输入框

 

解决输入中文问题:

        1.server 启动参数增加两个参数配置
            desired_caps['unicodeKeyboard'] = True
            desired_caps['resetKeyboard'] = True

        2.再次运行会发现运行成功
            # 点击搜索按钮
            driver.find_element_by_id("com.android.settings:id/search").click()
            # 定位到输入框并输入abc
            driver.find_element_by_id("android:id/search_src_text").send_keys("传智播客")

清空输入框内容

 获取元素的文本内容

 获取元素的属性值

 获取元素在屏幕上的坐标

 获取app包名和启动名

APP元素事件操作API 

swip滑动事件

 scroll滑动事件

 drag拖拽事件

 应用置于后台事件

APP模拟手势高级操作

手指轻敲操作

 手指按操作

 

等待操作

 

手指长按操作 

手指移动操作

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值