首页 > 其他分享 >Appium自动化(14):Appium常用操作之app操作

Appium自动化(14):Appium常用操作之app操作

时间:2023-05-28 20:37:00浏览次数:39  
标签:Appium 14 app driver sleep time com jisuanji

APP操作方法:

appium支持对手机上的app进行管理和操作,有如下方法:

1、install_app(self,app_path,**options): 安装app,app_path为安装包路径
2、remove_app(self,app_id,**options): 卸载app,app_id为app包名
3、is_app_installed(self,bundle_id): 检查app是否有安装bundle_id为app包名
4、launch_app(self): 启动app,启动desiredcapabilities配置的APP
5、close_app(self): 关闭app,关闭desiredcapabilities配置的APP
6、background_app(self,seconds): 后台运行app,seconds为运行时长
7、activate_app(self,app_id): 切换app,app_id为app包名
8、current_activity(self): 打印当前activity使用的时候不加()
9、start_activity(self,app_package,app_activity,**opts): 在当前应用中打开一个Activity,或者启动一个新应用并打开一个Activity,app_package为要启动的Activity的包名,app_activity要启动的Activity名。
10、reset(self):重置应用,删除应用相关数据操作

代码示例:

举例使用几种方法进行的操作

import time
from appium.webdriver.webdriver import By
from appium import webdriver
des = {
    'automationName':'appium',
    'platformName':'Android',
    'platformVersion':'6.0.1',  # 填写android虚拟机/真机的系统版本号
    'deviceName':'MuMu',      # 填写安卓虚拟机/真机的设备名称
    # 'appPackage':'com.sky.jisuanji',    # 填写被测app包名
    # 'appActivity':'.JisuanjizixieActivity',    # 填写被测app的入口
    'udid':'127.0.0.1:7555',    # 填写通过命令行 adb devices 查看到的udid
    'noReset':True,               # 是否重置APP
    'unicodeKeyboard':True,       # 是否支持中文输入
    'resetKeyboard':True,         # 是否支持重置键盘
    'newCommandTimeout':60        # 60秒没发送新命令就断开连接
       }

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)
# 判断如果 计算器 已经下载了则删除
if driver.is_app_installed("com.sky.jisuanji"):
    driver.remove_app("com.sky.jisuanji")
    time.sleep(3)
# 下载 计算器app
driver.install_app("E:/apk/CalcTest.apk")
time.sleep(3)
# 启动 计算器
driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity")
time.sleep(8)
# 做 8+9 的操作
driver.find_element(By.ID,'com.sky.jisuanji:id/btn8').click()
driver.find_element(By.ID,'com.sky.jisuanji:id/jia').click()
driver.find_element(By.ID,'com.sky.jisuanji:id/btn9').click()
driver.find_element(By.ID,'com.sky.jisuanji:id/denyu').click()
time.sleep(3)
# 置于后台5秒中
driver.background_app(5)
time.sleep(3)
# 切换到设置
driver.activate_app('com.android.settings')
time.sleep(3)
# 切换到计算器
driver.activate_app('com.sky.jisuanji')
time.sleep(3)
driver.close_app()  # current_activity\reset\launch_app 这四个方法只适合在des项配置中操作

 

针对 current_activity \ reset \ launch_app \ close_app 这四个方法只适合在des项配置中操作  做代码演示

代码示例:

import time
from appium import webdriver
des = {
    'automationName':'appium',
    'platformName':'Android',
    'platformVersion':'6.0.1',  # 填写android虚拟机/真机的系统版本号
    'deviceName':'MuMu',      # 填写安卓虚拟机/真机的设备名称
    'appPackage':'com.sky.jisuanji',    # 填写被测app包名
    'appActivity':'.JisuanjizixieActivity',    # 填写被测app的入口
    'udid':'127.0.0.1:7555',    # 填写通过命令行 adb devices 查看到的udid
    'noReset':True,               # 是否重置APP
    'unicodeKeyboard':True,       # 是否支持中文输入
    'resetKeyboard':True,         # 是否支持重置键盘
    'newCommandTimeout':60        # 30秒没发送新命令就断开连接
       }

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)
# 关闭app
time.sleep(3)
driver.close_app()
# 启动desiredcapabilities配置的APP
time.sleep(3)
driver.launch_app()
# 重置app
time.sleep(3)
driver.reset()
# 打印当前的 activity
time.sleep(3)
print(driver.current_activity)

 

标签:Appium,14,app,driver,sleep,time,com,jisuanji
From: https://blog.51cto.com/YouJeffrey/6366089

相关文章

  • Appium自动化(15):Appium常用操作之混合应用webview页面操作--待补充!
    上下文操作:在appium中,对于混合应用,需要进行WebView页面和原生应用的切换 常用的方法如下:1、context(self)/current_context(self):返回当前会话的当前上下文,context可以理解为可进入的窗口。对于原生应用,可用的context和默认context均为“NATIVE_APP”,对于webvi......
  • AGC014
    我做AGC感觉主要是大考试之前紧急加训。所以导致半年了还没做过20套。感觉还有两个月大概是做不到40套了。算了摆大烂。事实上我们可以得到结论:如果放歌没有词那大概不会放出来,但是如果有一点点词就能过。目前不知道词要占到绝对数值或者相对比例的多少。不过可以肯定的是......
  • Mybatis-plus中自定义的sql语句调用QueryWrapper实现查询
     一、引言MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的sql,那么今天说说MP怎么自定义sql语句吧。 二、具体实现使用注解实现:在我们Mapper接口中定义自定义方法即可。/***@Date:2019/6/1014:40*@Description</span>:User对象持久层*/p......
  • Appium自动化(16):Appium常用操作之H5页面操作 --待补充!
    手机chrome浏览器操作:手机端chrome浏览器一般用于打开H5手机版网站,它的操作方式与PC端的浏览器操作(即selenium对浏览器的操作)是一模一样的,由于切换后的WebView页面也属于网页下述的方法中部分支持在webview页面中使用:1、get(self,url):打开网站,url参数为url地址,必须包含http/h......
  • Appium自动化(17):Appium常用操作之等待操作
    等待机制:为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作,主要有三种等待时间设置方式。 方式一:sleep():固定等待时间设置,python的time包里提供了休眠方法sleep,导入包后就能使用;sleep()方法以秒为单位,如果超时设置小于1秒,可以使用小数写法:time.sleep(......
  • Appium自动化(18):使用appium后安卓手机无法调出键盘解决方法
    问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。原因:appium调试时,将手机输入法设置成了UnicodeIME注:按键详细操作参考:转载至作者:oscarforever  地址:https://www.cnblogs.com/oscarforever/p/10721774.html解决方法:方法一,手机设置里修改输入法:不同的手机型号......
  • 应用启动时加载application.properties配置文件
    配置aliyun.sms.regionId=defaultaliyun.sms.accessKeyId=LTAIxxxaliyun.sms.secret=PAxxxx importorg.springframework.beans.factory.InitializingBean;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Compone......
  • RN从0到1系统精讲与小红书APP实战(2023版)
    RN从0到1系统精讲与小红书APP实战(2023版)download:3wzxit666comRN从0到1系统精讲Part2:组件和API在上一篇文章中,我们介绍了如何搭建ReactNative开发环境并创建新项目。本文将介绍ReactNative的组件和API。组件ReactNative提供了许多可重用的UI组件,如View、Text、Image等。这......
  • Wimlib-imagex 1.14.1和ImageX Tool for Windows Version: 10.0.10011.16384是两款不
    Wimlib-imagex1.14.1和ImageXToolforWindowsVersion:10.0.10011.16384是两款不同的Windows镜像工具,它们之间存在一些区别。开发者不同:Wimlib-imagex是由OpenSourceCommunity开发的自由开源软件,而ImageXToolforWindows是Microsoft开发的商业软件。编写语言不同:Wi......
  • wimlib-imagex 1.14.1
    C:\Users\Administrator\Downloads\wimlib-1.14.1-windows-x86_64-bin>WIMLIB-IMAGEX--versionwimlib-imagex1.14.1(usingwimlib1.14.1)Copyright2012-2023EricBiggersLicenseGPLv3+;GNUGPLversion3orlater<https://gnu.org/licenses/gpl.html>.......