设备基本操作
前置条件:
示例代码:
from appium import webdriver # 导入appium 驱动包 # 1、定义一个DesiredCapabilities配置的字典 des = {'automationName':'appium','platformName':'Android', # 平台的名称,iOS,Android,FirefoxOS'platformVersion':'6.0.1', # 填写android虚拟机/真机的系统版本号'deviceName':'MuMu', # 填写安卓虚拟机/真机的设备名称'appPackage':'com.sky.jisuanji', # 填写被测app包名'appActivity':'.JisuanjizixieActivity', # 填写被测app的Activity入口'udid':'127.0.0.1:7555', # 填写通过命令行 adb devices 查看到的udid'noReset':True, # 是否 不重置APP'noSign':True, # 是否 不签名'unicodeKeyboard':True, # 是否支持中文输入'resetKeyboard':True, # 是否支持重置键盘}# 2、把配置的字典作为请求参数发送给appium服务器 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)
1、lock(self,seconds):锁屏操作,seconds设置锁屏时长
# 锁屏操作 driver.lock(3) # 锁屏时长3s ==> 交叉事件:如果测试一个视频直播,锁屏后再打开是否还能继续直播 time.sleep(2) print(driver.is_locked()) # is_locked()判断是否为锁屏状态 返回布尔值
2、unlock(self):解锁操作
# 解锁操作 driver.unlock() print(driver.is_locked())
3、is_locked(self):判断是否锁屏,锁屏状态返回True
# 锁屏操作 driver.lock(3) time.sleep(2) # 判断是否锁屏 锁屏状态返回True print(driver.is_locked()) # is_locked()判断是否为锁屏状态 返回布尔值
4、open_notifications(self):打开通知栏
#打开通知栏操作 time.sleep(2) driver.open_notifications()
5、driver.orientation='LANDSCAPE':切换横屏操作,PORTRAIT:切换竖屏操作,也可以通过driver.orientation获取当前屏幕状态
# 切换横竖屏操作 print(driver.orientation) # 获取当前屏幕的横竖屏状态 time.sleep(2) driver.orientation = 'LANDSCAPE' # 设置横屏 time.sleep(2) driver.orientation = 'PORTRAIT' # 设置竖屏
6、get_window_size(self,windowHandle='current'):默认获取当前屏幕的分辨率,返回字典{'width':,'height':}
# 默认获取当前屏幕的分辨率,返回字典{'width':,'height':} print(driver.get_window_size())
7、network_connection:获取网络状态,返回整型数字
0 (No connection) 无状态
1(Airplane Mode) 飞行模式
2(Wifi only) 仅开启wifi模式
4(Data only) 仅开启数据流量模式
6(All network on) 全部开启(包括wifi 和数据流量模式)
print(driver.network_connection) # 获取网络状态
8、set_network_connection(self,connection_type):设置网络状态,使用数字或导入ConnectionType类进行传参设置
# 设置网络状态 # 方式一:使用数字传参设置 0、1、2、4、6 driver.set_network_connection(1) time.sleep(5) # 方式二:导入ConnectionType类进行传参设置 from appium.webdriver.connectiontype import ConnectionType driver.set_network_connection(ConnectionType.ALL_NETWORK_ON)
9、save_screenshot(self,filename):截屏操作,filename为保存的文件路径,图片格式设置为png格式
# 截图操作 time.sleep(2) driver.save_screenshot('C:/Users/Jeff/Desktop/123.png')
10、get_device_time(self,format=None):获取设备当前时间,format为日期时间格式设置,默认为'YYYY-MM-DDTHH:mm:ssZ'
# 获取设备当前时间,默认格式为'YYYY-MM-DDTHH:mm:ssZ' print(driver.get_device_time())
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!