欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

appium-常用操作

程序员文章站 2022-06-19 08:24:03
...

appium常用操作

1.app相关操作

启动app

driver.launch_app()#默认启动的是capabilities配置中的app

切换app

driver.start_activity('包名', '活动页')

后台运行app

driver.background_app(10)#使当前前台运行app切换到后台10秒,然后又切回到前台

关闭app

driver.close_app()#默认关闭capabilities配置中的app

关闭驱动

driver.quit()

2.抓取toast吐司信息

使用uiautomator2版本才支持抓取吐司信息

直接使用元素定位方式的xpath抓取

try:
    toast = driver.find_element_by_xpath('//*[contains(@text, "xxx")]')
except:
    print('抓取失败')
else:
    print('抓取成功')

3.手机按键操作

使用press_keycode()或者keyevent()

driver.press_keycode(3)	#3表示HOME键
driver.keyevent(3)

4.长按操作

  • 使用TouchAction类实现长按

    e1 = driver.find_element_by_id('xxx')
    action = TouchAction(driver)
    action.long_press(el=e1, duration=3000)#使用元素定位
    action.long_press(x=300, y=500)#使用坐标定位,duration默认是1000
    
  • 使用tap,设置点击时间长短也可实现长按

    driver.tap([(100, 20), (100, 60), (100, 100)], 500)
    #要点击的坐标是一个元组组成的数组
    #表示依次点击数组里的坐标,每次点击的间隔为500ms
    #这个时间间隔并不是点击与点击之间的间隔,而是每次点击的按下抬起的时间间隔
    #数组默认最多放5个坐标
    

5.文件操作

  • 文件上传到手机、模拟器、平板

    dest_path = '/sdcard/xxx/222.txt'
    source_path = r'd:\xxx\111.txt'
    driver.push_file(dest_path, source_path=source_path)
    #文件的打开、关闭、编码、解码操作都在函数内部实现了,不需要你来做
    
  • 从手机、模拟器、平板下载文件到电脑

    import base64
    
    try:
    	file_b64 = driver.pull_file('sdcard/xxx/222.txt')
    	with open(r'd:\xxx\555.txt', 'w') as f:
            f.write(str(base64.b64decode(file_b64), encoding='utf-8'))
    except:
        print('下载失败')
    else:
        print('下载成功')
    

6.通知栏操作

  • 打开通知栏
driver.open_notifications()
  • 关闭通知栏
#1.按返回键
driver.keyevent(4)
#2.从下往上滑动
screen_size = driver.get_window_size()
width = screen_size['width']
height = screen_size['height']
driver.flick(width*0.5, height*0.9, width*0.5, height*0.2)#用swipe也可以

7.截图操作

  1. 使用get_screenshot_as_file()

    driver.get_screenshot_as_file(r'd:\xxx\xxx.png')#这里的路径就是截屏放入你的电脑的位置
    
  2. 使用save_screenshot()

    driver.save_screenshot(r'd:\xxx\xxx.png')