【Appium+Python】进行手机操作的方法+使用手机物理键

在编写UI自动化测试脚本的时候,有时候定位页面元素去操作手机的方法可能会比较麻烦。例如,也许你只是想要一个返回效果,去定位页面返回后还要进行一系列定义、调用点击函数,此时直接使用手机的物理返回键就要方便许多。Appium可利用selenium去操作手机。



先记录自己辛苦百度之后写出来的东西:

记录一、长按某个元素的方法

首先导入 TouchAction 包:from appium.webdriver.common.touch_action import TouchAction

然后编写长按函数:

wait里的时间单位是毫秒,长按N毫秒释放




以下是总结的只是碎片:

                                         手机操作方法


收起键盘:driver.hide_keyboard()

启动Activity参数(包名,activity名字):driver.start_activity('com.example.android.apis', '.Foo')

打开通知栏(打开下拉通知栏):driver.open_notifications()

检查应用是否已经安装(包名):driver.is_app_installed('com.example.android.apis')

安装应用(路径):driver.install_app('path/to/my.apk')

删除应用(包名):driver.remove_app('com.example.android.apis')

模拟设备摇晃:driver.shake()

关闭应用:driver.close_app()

重置(相当于卸载后重装):driver.reset()

获取应用的字符串:driver.app_strings

获取当前Activity:driver.current_activity

滑动屏幕(开始x,y坐标,滑动到的X,y坐标,持续时间ms):driver.swipe(startx=75, starty=500, endx=75, endy=0, duration=800)

双指向内移动缩小屏幕:driver.pinch(element=el)

双指往外移动来放大屏幕:driver.zoom(element=el)

从设备中拉出文件:driver.pull_file('Library/AddressBook/AddressBook.sqlitedb')

把文件放到设备中:

data = "some data for the file"

path = "/data/local/tmp/file.txt"

driver.push_file(path, data.encode('base64'))



                                          使用手机物理键


一句代码:driver.keyevent()        括号里填入的是手机物理按键的数字代号

       driver.press_keycode()        括号里填入的是键盘按键的数字代号

手机物理键数字代码
键盘按键数字代号


作者:失语失芯不失梦
链接:https://www.jianshu.com/p/530a01d17c1c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Python中,结合Appium和ADB工具可以实现对Android应用模拟操作,包括同时按下两个物理Appium是一个用于移动应用测试的API,而ADB(Android Debug Bridge)则是Google提供的一个命令行工具,用于管理和调试安卓设备。 要同时按下两个物理,首先你需要安装Appium服务器并配置成支持你的目标Android设备。然后通过Appium Python客户端库(如`webdriver_manager`、`appium-python-client`等)连接到手机。 以下是一个简化的示例代码片段,假设你想同时按下"home"(通常对应于屏幕底部的返回)和"back"(通常位于左上角): ```python from appium import webdriver # 设定你的设备信息,替换为你的实际设备ID和平台版本 desired_caps = { 'platformName': 'Android', 'platformVersion': '10', # 替换为你设备的实际版本 'deviceName': 'your_device_id', # 替换为你设备的唯一标识符 'appPackage': 'com.example.app', # 应用包名 'appActivity': '.YourMainActivity', # 主活动名称 } # 创建driver实例 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 按下Home和Back driver.press_keycode(3) # Home,值通常为3 driver.press_keycode(4) # Back,值通常为4 # 等待一些时间让操作生效(如果需要) time.sleep(2) # 这里的时间可以根据实际情况调整 # 关闭driver driver.quit() ``` 注意:这个例子中的按码(keycode)是在Android系统中定义的标准,可能会随着不同的系统版本有所变化。在实际使用中,你可能需要查阅设备的硬件映射文档或者使用特定的Appium插件来获取准确的按码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值