Appium 基础操作

本文介绍了Appium的基础操作,包括如何打开应用、使用adb获取包名和界面名,以及如何利用desired_caps设置参数。此外,讲解了Appium的元素定位、操作API,如滑动、拖拽事件,并涉及了高级手势如TouchAction的操作,如轻敲、按下和抬起。最后,还介绍了获取手机分辨率等手机操作API。
摘要由CSDN通过智能技术生成
一、安装jdk
配置环境变量 :
        自定义变量JAVA_HOME=C:\Program Files\Java\jdk1.8
         C:\Program Files\Java\jdk1.8为 jdk 的安装目录
配置 path :
        %JAVA_HOME%\bin
        %JAVA_HOME%\jre\bin
二、安装 Android SDK
配置环境变量 :
        自定义变量 ANDROID_HOME=C:\tools\android-sdk
        C:\tools\android-sdk是你的解压目录
配置 path :       
        %ANDROID_HOME%\platform-tools
        %ANDROID_HOME%\tools
三、安装 手机模拟器Genymotion和virtualbox
1.安装Genymotion
2.安装virtualbox
3.打开Genymotion,点击add选择系统安装
4.安装genymotion ARM插件(可提供x86运行环境,即可运行apk ):
        打开Genymotion,点击start 按钮,启动虚拟机。
        拖动ARM_Translation_Lollipop_20160402.zip(不用解压)到已启动的android虚拟机上。
四、Appium 自动化测试环境搭建
1、安装Appium客户端
2、安装Appium-python库
使用管理员运行cmd :
        pip install Appium-Python-Client
 
五、 Appium 基础操作
(1)使用appium打开应用程序

        1.打开要测试的应用

        2.使用 adb 命令获取包名和界面名

cmd输入

获取包名和界⾯名:adb shell dumpsys window windows | findstr mFocusedApp

 获取当前电脑已经连接设备和对应的设备号 :adb devices

        3.修改 desired_caps 字典中的 appPackage 和 appActivity 的参数

# 导模块
from appium import webdriver

# 创建一个字典,包装相应的启动参数
desired_caps = dict()
# 需要连接的手机的平台
desired_caps['platformName'] = 'Android'
# 需要连接的手机的版本号
desired_caps['platformVersion'] = '7.0'
# 需要连接的手机的设备号
desired_caps['deviceName'] = '192.168.241.101:5555'
# 需要启动的程序的包名
desired_caps['appPackage'] = 'com.android.settings'
# 需要启动的程序的界面名
desired_caps['appActivity'] = '.Settings'
# 获取driver,连接appium服务器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 退出
driver.quit()

(2)Appium 基础操作 API

1、 在脚本内启动其他 app
driver . start_activity ( appPackage , appActivity )
        appPackage:要打开的程序的包名
        appActivity:要打开的程序的界面名
需要先切换到短信应用里,再获取包名和界⾯名:adb shell dumpsys window windows | findstr mFocusedApp

# 打开 设置,等待三秒后跳转到 短信
from time import sleep

from appium import webdriver
# 创建一个字典,包装相应的启动参数
desired_caps = dict()

# 需要连接的手机的平台
desired_caps['platformName'] = 'Android'
# 需要连接的手机的版本号
desired_caps['platformVersion'] = '7.0'
# 需要连接的手机的设备号
desired_caps['deviceName'] = '192.168.241.101:5555'
# 需要启动的程序的包名
desired_caps['appPackage'] = 'com.android.settings'
# 需要启动的程序的界面名
desired_caps['appActivity'] = '.Settings'
# 获取driver,连接appium服务器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 暂停3秒
sleep(3)

# 跳转到短信
driver.start_activity('com.android.messaging', '.ui.conversationlist.ConversationListActivity')

sleep(3)
# 退出driver
driver.quit()

 2、 获取 app 的包名和界面名

 获取包名: driver.current_package
 获取界面名:driver.current_activity
# 打开 设置,等待三秒后跳转到 短信
from time import sleep

from appium import webdriver
# 创建一个字典,包装相应的启动参数
desired_caps = dict()

# 需要连接的手机的平台
desired_caps['platformName'] = 'Android'
# 需要连接的手机的版本号
desired_caps['platformVersion'] = '7.0'
# 需要连接的手机的设备号
desired_caps['deviceName'] = '192.168.241.101:5555'

# 获取driver,连接appium服务器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)


# 获取 app 的包名和界面名 并输出
package=driver.current_package
print(package)
activity=driver.current_activity
print(activity)



sleep(3)
# 退出driver
driver.quit()
3、关闭 app 和 驱动对象
关闭当前操作的app,不会关闭驱动对象 : driver.close_app()
关闭驱动对象,同时关闭所有关联的app:driver.quit()
4 、安装和卸载以及是否安装 app
安装app :driver.install_app(" apk路径 ")
卸载app :driver.remove_app(" 应用程序包名 ")
       
 判断app是否已经安装 :driver.is_app_installed(" 应用程序包名 ")
                返回值:  布尔类型,True为安装,False为没有安装
5、 将应用置于后台
app 会在进入后台一定时间后,如果再回到前台也页面会重新输入密码
 app放置到后台一定时间后再回到前台,模拟热启动 : driver.background_app(seconds)
          参数: seconds:后台停留多少秒
# 打开 设置,等待三秒后跳转到 短信
from time import sleep

from appium import webdriver
# 创建一个字典,包装相应的启动参数
desired_caps = dict()

# 需要连接的手机的平台
desired_caps['platformName'] = 'Android'
# 需要连接的手机的版本号
desired_caps['platformVersion'] = '7.0'
# 需要连接的手机的设备号
desired_caps['deviceName'] = '192.168.241.101:5555'
# 需要启动的程序的包名
desired_caps['appPackage'] = 'com.android.settings'
# 需要启动的程序的界面名
desired_caps['appActivity'] = '.Settings'
# 获取driver,连接appium服务器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)


print("----进入后台----")

#进入后台5秒,再回到前台
driver.background_app(5)

print("----回到前台----")


# 暂停3秒
sleep(3)
# 退出driver
driver.quit()

(3)UIAutomatorViewer 获取元素的特征信息

1、进入 SDK 目录下的 tools 目录,打开 uiautomatorviewer.bat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值