Appium用例录制
1.Android自动化前提依赖
1)genimotion和sdk自带模拟器可以创建不同版本和不同镜像
2)网易mumu只针对6.0版本的改造
2.Apppium Desktop主要功能
UI分析: 有哪些界面,有哪些层级结构
录制用例: 可以生成不同语言的脚本
元素查找测试
Attach已有的session
云测试
appium监听本地4723端口:http://localhost:4723/wd/hub
3.利用Apppium Desktop生成用例模板
1)参考文档位置如下:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
文档如下:appPackage是唯一标识, 对于android来说每个页面都是一个activity
2)获取app信息,以雪球app为例
打开模拟器,连接adb,使用adb工具,adb devices查看是否连接成功
获取任务列表: activities获取之前的
3)配置待测应用的信息(desire capability)
4)录制脚本,导出python语言的用例

上方从左到右按钮:定位元素、定位页面坐标、返回页面、刷新页面、(小眼睛)录制脚本、复制元素、关闭
右侧红线附近:tap点击操作。send keys 在输入框中输入内容,clear清空
id即 resource-id,唯一标识
5)添加隐士等待、noReset等增强用例稳定性
录制脚本支持语言

点击雪球app弹框提示,如何避免?使用noReset=true
录制脚本代码如下:
from appium import webdriver desired_caps = { "platformName": "android", "deviceName": "emulator-5554", "appPackage": "com.xueqiu.android", "appActivity": ".view.WelcomeActivityAlias", "noReset": True } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) driver.implicitly_wait(10) el1 = driver.find_element_by_id("com.xueqiu.android:id/tv_search") el1.click() el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text") el2.send_keys("京东") el3 = driver.find_element_by_xpath( "/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout[1]/android.widget.LinearLayout/android.widget.TextView[1]") el3.click()