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()

浙公网安备 33010602011771号