Appium教程二: 基础Api(安装、卸载、……)及元素定位、元素操作

移动自动化测试入门示例

前置:必须启动appium服务、模拟器。

from appium import webdriver
# 定义字典变量
desired_caps = {}
# 字典追加启动参数
desired_caps["platformName"] = "Android"
# 注意:版本号必须正确
desired_caps["platformVersion"] = "7.1.1"
# android不检测内容,但是不能为空
desired_caps["deviceName"] = "192.168.56.101:5555"
desired_caps["appPackage"] = "com.android.settings"
desired_caps["appActivity"] = ".Settings"
# 设置中⽂
desired_caps["nicodeKeyboard"] = True
desired_caps["resetKeyboard"] = True
# 获取driver
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

基础Api

1.启动应用、应用跳转

⽅法: driver.start_activity(包名,启动名)

说明:appium⽀持夸应⽤,可以在操作应⽤中切换到B应⽤。

2.获取包名和界面名

当前应⽤包名:driver.current_package

当前应⽤启动名:driver.current_activity

"""
 需求:
 1、启动设置后,暂停3秒,打开短信应⽤
 2、打印当前默认应⽤包名启动名
"""
sleep(3)
# 启动短信
driver.start_activity("com.android.messaging",".ui.conversationlist.Conversati
onListActivity")
# 打印包名和启动名
print("当前所在应⽤包名:",driver.current_package)
print("当前所在应⽤启动名:",driver.current_activity)
driver.quit()

3.其它基础API

"""
 需求:
 1、判断百年奥莱是否安装,如果安装进⾏卸载,否则安装
 2、启动设置界⾯
 3、置于后台3秒钟
 4、关闭设置界⾯
 5、关闭app驱动
"""
# 判断百年奥莱是否安装
if driver.is_app_installed("com.yunmall.lc"):
 print("百年奥莱app已存在正在卸载...")
 # 卸载
 driver.remove_app("com.yunmall.lc")
 print("卸载百年奥莱app成功!")
else:
 print("百年奥莱不存在,正在安装...")
 # 安装
 driver.install_app("/Users/lgy/PycharmProjects/lgy/bj37-web01/day07-
appium01//bainianaolaitemai_115.apk")
 print("安装百年奥莱app成功!")
sleep(3)
# 启动设置界⾯
print("启动设置界⾯...")
driver.start_activity("com.android.settings",".Settings")
sleep(3)
print("设置应⽤置于后台3秒钟...")
# 置于后台3秒
driver.background_app(3)
print("关闭设置app...")
# 关闭设置
driver.close_app()
print("获取关闭后的app报名")
print("关闭设置app,后获取包名:",driver.current_package)
sleep(3)
print("退出driver驱动")
driver.quit()

元素定位

通过UiAutoMatorViewer可以获取到元素信息,appium提供根据这些信息找到具体元素方法。与selenium的8种定位方式一样,

示例:我们要关闭应用中的弹窗。

1.先找到元素id。

2.定位元素语句如下:

driver.find_element(AppiumBy.ID,'com.android.flysilkworm:id/close_dialog').click()

元素操作

  • 模拟点击:element.click()
  • 模拟输入:element.send_keys(value)
  • 清除文本:element.clear()
  • 获取属性:element.get_attribute()
  • 判断是否被选中:element.is_selected()
  • 判断是否显示:element.is_displayed()
  • 判断是否可用:element.is_enabled()
  • 获取文本:element.text
  • 获取位置:element.location
  • 获取大小:element.size
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享