『与善仁』Appium基础 — 24、等待activity出现
2021-12-12 20:15
579 查看
[toc]
1、什么是等待activity出现
在启动APP的时候,要配置包名和启动名,一个启动名对应一个页面,也就是启动APP然后打开某一个页面。换句话说,在等待这个页面出现,也就是等待
activity出现。(
activity相当于启动名)
如果不等待页面完全展示,就直接做下一步点击操作,经常会报错,于是我们会在启动完成的时候加
sleep。(同Web自动化类似)
那么问题来了,这个
sleep时间到底设置多少合适呢?
设置长了,就浪费时间,设置短了,就会找不到元素报错了。
这个时候我们可以用
wait_activity的语法,等到你想点击的页面
activity出现了,再点击,可以有效的节省时间。
(同Selenium中的显示等待和隐式等待相关内容)
2、wait_activity()方法
wait_activity()方法是Android特有的,入下所示:
wait_activity(self, activity, timeout, interval=1) # 返回的True 或 False :
说明:
等待指定的
activity出现直到超时,
interval为扫描间隔1秒,即每隔几秒获取一次当前的
activity。
Agrs参数:
activity
:需等待的目标activity
(相当于启动名,就填写启动名)timeout
:最大超时时间,单位是s 。interval
:循环查询时间 。
调用方式:
driver.wait_activity(‘.activity.xxx’,5,2)
3、获取当前页面的activity方法
获取当前页面的
activity方法为:
current_activity。
调用方式:
driver.wait_activity(".Settings$DisplaySettingsActivity", 10 , 2 )
4、综合练习
""" 1.学习目标 熟悉等待activity出现的方法 2.操作步骤 2.1 获取当前页面的activity driver.current_activity 2.2 等待activity出现 driver.wait_activity(activity,最大等待时间,interval=1) 参数说明: activity:需等待的目标 activity (相当于启动名,就填写启动名) timeout:最大超时时间,单位是s interval:循环查询时间 3.需求 操作设置app,实现上面方法的使用。 """ # 1.导入appium import time from appium import webdriver # 2.添加启动参数 desired_caps = { "platformName": "Android", # 系统名称 "platformVersion": "7.1.2", # 系统版本 "deviceName": "127.0.0.1:21503", # 设备名称 "appPackage": "com.android.settings", # APP包名 "appActivity": ".Settings" # APP启动名 } # 3.启动APP driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps) # 4.操作APP # 4.1 设置app点击显示按钮 view = driver.find_element_by_android_uiautomator('new UiSelector().text("显示")') view.click() # 4.2 获取显示页面的activity # activity = driver.current_activity # print(activity) # 注意: # 这步能够获取到显示页面的activity, # 证明显示页面的activity已经出现了。 # 在这里我们就先获取到打印出来查看一下。 # 也方便我们下一步.wait_activity()方法的使用。 # 在实际的代码中我们可以注释掉,不执行。 # 4.3 等待显示页面activity出现 driver.wait_activity(".Settings$DisplaySettingsActivity", 10) # 4.4 点击显示页面的壁纸按钮 driver.find_element_by_android_uiautomator('new UiSelector().text("显示大小")').click() # 5.关闭APP time.sleep(5) driver.quit()
相关文章推荐
- appium等待控件或者Activity出现函数
- Appium+python自动化27-等待activity出现(android特有的wait_activity)
- 『与善仁』Appium基础 — 3、ADB命令介绍
- 『与善仁』Appium基础 — 14、Appium测试环境搭建
- 『与善仁』Appium基础 — 15、使用Appium的第一个Demo
- 『与善仁』Appium基础 — 4、常用ADB命令(一)
- Appium中如何等待元素出现
- Appium 出现 error: activity never started. Current: activity或者Incorrect package and activity问题
- 『与善仁』Appium基础 — 16、APPium基础操作API
- 『与善仁』Appium基础 — 18、元素定位工具(二)
- Appium自动化基础之获取包名及Activity信息
- 『与善仁』Appium基础 — 1、Android系统的测试环境搭建
- 『与善仁』Appium基础 — 20、Appium元素定位
- 『与善仁』Appium基础 — 2、常用Android模拟器的安装
- 『与善仁』Appium基础 — 21、元素的基本操作
- 『与善仁』Appium基础 — 11、补充:Desired Capabilities参数介绍
- 5.3-24.连续出现的字符【1.9编程基础之顺序查找11】
- 『与善仁』Appium基础 — 12、Appium的安装详解
- 『与善仁』Appium基础 — 13、补充:node.js介绍
- C语音基础-typedef 24