APP自动化测试

本文详细介绍了如何进行APP自动化测试,包括adb命令的使用、Appium的Capability设置、元素定位方法、等待策略、定位工具如uiautomatorviewer和Appium Inspector的应用,以及APP控件交互、触屏操作自动化、Toast控件识别、断言方法和参数化用例。此外,还讲解了Android纯Web页面和混合页面测试,以及Appium设备交互API,如设置网络类型、截屏等。
摘要由CSDN通过智能技术生成

adb命令

连接模拟器  adb connect 127.0.0.1:16384
          adb start-server
查看当前设备      adb devices
获取当前界面元素   adb shell dumpsys activity top
查看日志         adb logcat | grep -i displayed


启动应用         adb shell am start -W -n Activity名字
获取当前页面的activity   abd shell dumpsys window|grep mCurrent

Capability设置

普通用法

deviceName 是随便起名的 不能指定设备

from appium import webdriver

class TestKj:

    def setup(self):
        desired_cap = {
            "platformName": "android",
            "deviceName": "127.0.0.1:16384",
            "appPackage": "com.xueqiu.android",
            "appActivity": ".view.WelcomeActivityAlias",
            "noReset": True,
#防止清空缓存信息,这个参数解决的问题:每次一点软件就弹出一个更新的弹框,设置了这个参数以后,再次运行,弹窗出现给他点关闭,下次运行就不会再弹出弹窗了,同样适用于解决登录问题 
            "skipDeviceInitialization": True,
#跳过安装、权限设置等操作,可以提升运行速度
           "dontStopAppOnReset": True,
# ↑ 在停留的页面上继续操作,不会重启app
# 要输入中文需要设置以下这两个参数:
            "unicodeKeyBoard": True,
            "resetKeyBoard": True
#"udid" 连接的真实设备的唯一设备编号
        }
        self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_cap)
        self.driver.implicitly_wait(8)

    def teardown(self):
        self.driver.quit()

# 返回到上一个页面:
driver.back()

高级用法

在当前页面不退出,继续执行:

appium 元素定位

id

self.driver.find_element_by_id(resource-id)

accessibility_id

self.driver.find_element_by_accessibility_id(content-desc)

xpath定位

self.driver.find_element_by_xpath(xpath属性值)

classname定位(不推荐)

uiautomator定位

优点:
xpath定位速度慢
uiautomator是android的工作引擎,速度快
缺点:
表达式书写复杂,容易写错IDE没有提示

三种等待

定位工具

uiautomatorviewer

cmd直接输入:uiautomatorviewer

uiautomator对不同设备可能渲染出来的结果不一致,对兼容性测试来说这些脚本就不适用了,所以推荐使用谷歌的inspect

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值