前言:目前很多公司都在做APP,对于APP测试来说,我个人认为痛点在于版本迭代快,机型多,回归测试需要耗费大量的人力、时间成本,那我们该怎么做呢?这时候就要引入APP自动化了,它可以帮助我们有效的进行回归测试! 每一个操作步骤添加等待时间是为了让大家看的更加清楚操作步骤哈 三、元素定位方法与隐式等待 九、特殊控件Toast识别
一、Appium环境安装和架构介绍
二、appium用例录制
官方文档
在电脑上通过 adb 和 IP 地址连接 Android 设备
adb connect 127.0.0.1:7555
adb logcat |grep -i displayed 获取当前的操作日志
from appium import webdriver from appium.webdriver.common.touch_action import TouchAction import time desire_cap = { "platformName": "android", "deviceName": "127.0.0.1:7555", "appPackage": "com.xueqiu.android", "appActivity": ".view.WelcomeActivityAlias", "noReset": True, # 跳过弹窗,手动关闭弹窗后后续操作将自动跳过 "dontStopAppOnReset": True # 设置为不停止APP } driver = webdriver.Remote("https://127.0.0.1:4723/wd/hub", desire_cap) driver.implicitly_wait(10) element1 = driver.find_element_by_id("com.xueqiu.android:id/tv_search").click() element2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text").send_keys("Alibaba") time.sleep(5) windows_rect = driver.get_window_rect() width = windows_rect["width"] height = windows_rect["height"] print(width, height) TouchAction(driver).tap(x=175, y=220).perform() time.sleep(5) TouchAction(driver).tap(x=270, y=692).perform() time.sleep(5) driver.back() time.sleep(5) TouchAction(driver).tap(x=325, y=1223).perform() time.sleep(5) driver.back() time.sleep(5) TouchAction(driver).tap(x=206, y=197).perform() time.sleep(5) TouchAction(driver).tap(x=247, y=1243).perform() time.sleep(5) element3 = driver.find_element_by_id("com.xueqiu.android:id/tv_login_by_phone_or_others") element3.is_enabled() print(element3.text) print(element3.size)
driver.implicitly_wait(10) 隐式等待,作用于全局
四、App控件定位
控件基础知识
五、APP控件交互
六、触屏操作自动化
七、高级定位技巧
八、显式等待机制
locator = (MobileBy.ID, "com.xueqiu.android:id/tv_login_by_phone_or_others") WebDriverWait(driver, 10).until(expected_conditions.element_to_be_clickable(locator)) #显式等待判断 element = WebDriverWait(driver, 10).until(lambda x: x.find_element(*locator)) #显示等待用lambda表达式判断
十、属性获取与断言
pip install pyhamcrest pip安装
十一、appium参数化用例
直接用pytest.mark.parmetrize装饰器或者yaml文件读取
十二、数据驱动
利用外部数据
使用yaml
十三、Android Webview测试
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md
https://npm.taobao.org/mirrors/chromedriver/
adb shell pm list package 查看手机上所有的包名
adb shell pm list package|grep browser 查看浏览器的包名
adb shell pm dump com.android.browser|grep version 查看浏览器版本
chrome://inspect/#devices 调试H5工具,需要翻墙才能访问
点击inspect
driver.switch_to.context(driver.switch_to.context[-1])
driver.switch_to.window(driver.window_handles[-1])
对于混合APP来说,有一个上下文概念,从原生进入WEB需要切换上下文,就像pc切换句柄一样,这是一个简单的切换,详细情况可以百度
十四、微信小程序测试
待更新
十五、实战演练
Android 开发环境与SDK Appium Server 包括两种形态: Appium Desktop :包括Appium Server ,Appium Inspector Appium Server :直接就是一个server ,命令行启动 直接输入appium 回车 测试iOS 系统:必须的环境 PC: MacOS,Xcode ,libimobiledevice ,ideviceinstaller, 手机安装:WDA facebook (webdriver agent) 测试设备 真机 模拟器 mumu 6.0 (推荐) Genimotion - 可以模拟不同手机尺寸,不同版本的手机设备 emulator - android sdk自带的emulator ,使用Android Studio 创建 - emulator 启动方法: emulator -list-avds 列出有哪些模拟器 emulator @Pixel_3a_XL_API_23_x86-6-0 启动模拟器 测试设备需要设置: 真机或者模拟器都需要打开的: 打开开发者选项, 连点版本号七下,返回 设置页 开发者选项 - USB调试模式 模拟器连接: adb connect 真机 需要安装驱动: windows系统: 安装驱动 ,豌豆夹或者手机助手。 Mac Linux 不需要安装 App 文件 下载安装 三种方式: 去应用商店或者app store下载安装 去网上下载(比如应用宝等平台),然后拖拽到手机上 将下载下来的应用,使用命令安装: adb install **.apk 卸载 卸载方式: 直接在模拟器上卸载,长按应用,拖拽删除 使用命令卸载: adb uninstall apk的包名 例如企业微信: adb uninstall com.tencent.wework Appium Desktop 点击 Start Server 启动服务 配置DesireCapability { "platformName": "android", "deviceName": "emulator-5554", "appPackage": "com.tencent.wework", "appActivity": ".launch.LaunchSplashActivity", "autoGrantPermissions": "true", #这个参数为true的时候 noReset参数不生效 "noReset": "true" #noReset 防止清除app的数据 } adb 常用命令 adb devices adb logcat | grep -i Displayed adb shell am start -n 启动 activity com.tencent.wework/.launch.LaunchSplashActivity com.tencent.wework/.launch.WwMainActivity 注意:启动页与直接启动主页是不同的。 理论上任何一个页面都可以直接进去,但开发做了限制,不允许这么操作。只能从启动页开始,模拟真实用户使用场景。
待更新…
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算