1、输入中文的处理

  在初始化配置中增加两个参数:

 

"resetKeyboard":True,  # 重置设备的输入键盘
  "unicodeKeyboard":True  # 采用unicode编码输入

2、区分手册打开还是非首次打开

 

"noReset":True  # 用来记住app的session,如果有登陆或者做过初始化操作,为True时,后面不需要再操作

3、获取手机的分辨率

 

driver.get_window_size() #返回的值时字典类型,包含height和width 高度和宽度的值

4、获取手机截图

 

driver.get_screenshot_as_file(filename)

  注意事项:路径必须手动创建 2、文件名必须是以PNG结尾的图片

6、设置手机网络

  主要是为了实现视频类的app中,视频播放过程中网络切换时会有提示信息的操作

  --获取手机网络

driver.network_connection   appium定义的网络类型
    driver.set_network_connection(connection_type) # connection_type 网络类型

    网络类型:0,1,2,4,6

appium实例 java appium 教程_appium实例 java

 

 7、常用的三个键值  3 Home , 4 返回键  , 66 回车键

driver.press_keycode(3)

8、手机通知栏操作

 

driver.open_notifications()

二、滑动和拖拽事件

  1、swipe滑动时间

driver.swipe(startx,starty,endx,endy,duration = None)

  duration用来降低滑动的速度和惯性,单位是ms

  2、scroll 滑动事件

    scroll 是通过元素来进行滑动的

    

driver.scroll(source_element,target_element)

    scroll 无法设置滑动的持续时间,带有一定的惯性。主要用于IOS中,android高版本系统可以使用。

  3、drag_and_drop拖动事件

    从一个元素滑动到另一个元素,第二个元素代替第一个元素原本屏幕上的位置。

   

driver.drag_and_drop(source_element,target_element)

三、高级手势操作

  实现步骤:

    1、创建TouchAction对象

    2、调用手势方法

    3、调用perform()执行操作

  1、轻敲操作

    实现步骤:

   

action = TouchAction(driver) #创建手势对象

    action.tap(element=None,x=None,y=None,count=1) # 调用轻敲手势方法,传入的是一个元素的坐标点,count表示敲击的次数,默认为1

    当元素的定位方法 find_element_by_id  /class_name /xpath 不能够定位到元素时,可以根据坐标定位,然后进行点击操作

   

action.perform()

  2、按下和抬起操作

  按下:

   

press(element,x,y)

  抬起:

  

release()

  TouchAction(driver).press(x=477,y=489).release().perform()   # 按下和抬起可以结合起来使用,达到点击的效果

  3、等待

    模拟手指的等待操作,wait(ms) ms 表示毫秒数

TouchAction(driver).press(x,y).wait(5000).release().perform()
     
  4、长安操作
    long_press(element,x=None,y=None,duration=1000)
  element表示元素,xy是坐标,duration是长按的时长
  5、移动操作
    模拟手指在手机屏幕上的移动过程
    move_to(element,x,y) element表示的元素对象,x和y表示的是坐标点,二选一
    移动的操作是需要结合press和release一起使用
1 TouchAction(driver).press(x=260,
2 y=720).wait(500).move_to(x=540, y=720)\
3 .wait(500).move_to(x=820,y=720).wait(500).move_to(x=
4 540, y=1000).wait(500).move_to(x=260, y=1270)\
5 .wait(500).move_to(x=540

 6、获取toast消息

  Android中的toast是一种简易的消息提示框,并且一般在3s左右的时间就会消失。它属于系统提示的一种,而不是应用上的。所以使用元素定位工具定位是获取不到Toast元素的。

  定位Toast元素 需要借助UiAutomator2,定位Toast必须使用xpath定位方式