【移动端App自动化测试】02 Appium用例录制


一、创建一个新的session

1、开始新的session 2、指定平台和设备名称 (1)点击Start Session,提示必填信息:平台和设备 (2)设备名称,通过adb devices命令获取 (3)输入平台和设备名称 3、Android 需要获取 appPackage 和 appActivity (1)命令行输入命令: adb logcat|grep -i displayed (2)在 mumu 模拟器上打开被测软件,例如雪球 App ,再回到命令行中查看新生成的日志即可获取 appPackage:com.xueqiu.android appActivity:.view.WelcomeActivityAlias 4、 desire_caps
1 {
2     "platformName": "iOS",       // android 或iOS
3     "platformVersion": "11.0",   // 版本
4     "deviceName": "iPhone 7",    // 设备名称
5     "automationName": "XCUITest", // 工作引擎
6     "app": "/path/to/my.app"      // Android有包和页面的概念
7 }
二、appium页面功能简介     左:页面展示 中:dom,xml的层级结构,包含布局和标签 右:元素属性   1、选择属性 2、鼠标滑动 3、同步:通过鼠标完成刷新操作,即会同步到手机或模拟器上上 4、返回 5、刷新:对当前页面进行刷新 6、录制脚本 7、搜索:搜索元素,且选中搜索结果会在页面上高亮 8、拷贝:xml的结构 9、关闭   三、录制功能 1、点击 录制 按钮

2、录制第一个脚本:选中操作要素,进行相应点击/文本输入/清空操作,切换语言,复制到 Pycharm 中

(1)点击 搜索 按钮 (2)输入 阿里巴巴 (3)点击 联想结果的第一个 (4)点击 用户

 3、Pycharm 中执行录制的脚本

 1 # appium第一个录制脚本
 2 # "noReset": True 保留之前的操作
 3 desired_caps = {
 4   "platformName": "android",
 5   "deviceName": "127.0.0.1:7555",
 6   "appPackage": "com.xueqiu.android",
 7   "appActivity": ".view.WelcomeActivityAlias",
 8   "noReset": True
 9 }
10 # 本机地址0.0.0.0:4723,Appium启动时出现的地址,/wd/hub固定写法
11 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
12 
13 # 隐式等待
14 driver.implicitly_wait(10)
15 
16 # 点击搜索
17 el1 = driver.find_element_by_id("com.xueqiu.android:id/tv_search")
18 el1.click()
19 
20 # 输入 阿里巴巴
21 el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
22 el2.send_keys("阿里巴巴")
23 
24 # 点击 第一个联想结果
25 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]")
26 el3.click()
27 
28 # 点击 用户 页签
29 el4 = 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.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.view.View")
30 el4.click()
appium第一个录制脚本