Appium
常用接口
定位一个元素
-
通过id定位 driver.find_element_by_id()
-
通过className driver.find_element_class_name()
-
通过xpath driver.find_element_by_xpath()
定位一组元素
-
通过id定位 driver.find_elements_by_id()
-
通过className driver.find_elements_class_name()
-
通过xpath driver.find_elements_by_xpath()
等待
-
隐式等待
所有的find操作都会等待
driver.implicitly_wait(10)
-
显示等待
针对当前绑定的用户的等待,在5s内,每0.5s调用一次查找元素
wait = WebDriverWait(driver, 5)
button = wait.until(lambda xx.find_element_by_xpath(""))
对比
元素操作
滑动与拖拽事件
-
swipe滑动事件
有距离误差,时间越短惯性越小
driver.swipe(start_x, start_y, end_x, end_y, duration)
-
scroll滑动
从一个元素滑动到另一个元素,直到页面自动停止,有惯性
driver.scroll(element1, element2)
-
drag_and_drop拖拽事件
从一个元素滑动到另一个元素,第二个元素代替第一个元素原本屏幕上的位置,没有惯性
driver.drag_and_drop(element1, element2)
高级手势TouchAction
轻敲
要么传element,要么传X,Y坐标,count是执行次数,单击(1),双击(2)
TouchAction(driver).tap(element=None, x=None, y=None, count=1).perform()
按下和抬起
-
按下
pressure是ios的强制按下
TouchAction(driver)
.press(el=None, x=None, y=None, pressure=float)
.wait(2000)
.perform()
-
抬起 TouchAction(driver)
.release()
.perform()
-
长按 TouchAction(driver)
.long_press(el=None, x=None, y=None, duration=1000)
.perform()
长按
TouchAction(driver)
.move_to(el=None, x=None, y=None)
.perform()
获取手机分辨率
driver.get_window_size()
截图
dirver.get_screenshot_as_file("fileName.png")
获取&设置手机网络
KEYCODE_UNKNOWN=0; | KEYCODE_DPAD_CENTER=23; | KEYCODE_R=46; | KEYCODE_MINUS=69; |
---|
KEYCODE_SOFT_LEFT=1; | KEYCODE_VOLUME_UP=24; | KEYCODE_S=47; | KEYCODE_EQUALS=70; | KEYCODE_SOFT_RIGHT=2; | KEYCODE_VOLUME_DOWN=25; | KEYCODE_T=48; | KEYCODE_LEFT_BRACKET=71; | KEYCODE_HOME=3; | KEYCODE_POWER=26; | KEYCODE_U=49; | KEYCODE_RIGHT_BRACKET=72; | KEYCODE_BACK=4; | KEYCODE_CAMERA=27; | KEYCODE_V=50; | KEYCODE_BACKSLASH=73; | KEYCODE_CALL=5; | KEYCODE_CLEAR=28; | KEYCODE_W=51; | KEYCODE_SEMICOLON=74; | KEYCODE_ENDCALL=6; | KEYCODE_A=29; | KEYCODE_X=52; | KEYCODE_APOSTROPHE=75; | KEYCODE_0=7; | KEYCODE_B=30; | KEYCODE_Y=53; | KEYCODE_SLASH=76; | KEYCODE_1=8; | KEYCODE_C=31; | KEYCODE_Z=54; | KEYCODE_AT=77; | KEYCODE_2=9; | KEYCODE_D=32; | KEYCODE_COMMA=55; | KEYCODE_NUM=78; | KEYCODE_3=10; | KEYCODE_E=33; | KEYCODE_PERIOD=56; | KEYCODE_HEADSETHOOK=79; | KEYCODE_4=11; | KEYCODE_F=34; | KEYCODE_ALT_LEFT=57; | KEYCODE_FOCUS=80;//Camerafocus | KEYCODE_5=12; | KEYCODE_G=35; | KEYCODE_ALT_RIGHT=58; | KEYCODE_PLUS=81; | KEYCODE_6=13; | KEYCODE_H=36; | KEYCODE_SHIFT_LEFT=59; | KEYCODE_MENU=82; | KEYCODE_7=14; | KEYCODE_I=37; | KEYCODE_SHIFT_RIGHT=60; | KEYCODE_NOTIFICATION=83; | KEYCODE_8=15; | KEYCODE_J=38; | KEYCODE_TAB=61; | KEYCODE_SEARCH=84; | KEYCODE_9=16; | KEYCODE_K=39; | KEYCODE_SPACE=62; | KEYCODE_MEDIA_PLAY_PAUSE=85; | KEYCODE_STAR=17; | KEYCODE_L=40; | KEYCODE_SYM=63; | KEYCODE_MEDIA_STOP=86; | KEYCODE_POUND=18; | KEYCODE_M=41; | KEYCODE_EXPLORER=64; | KEYCODE_MEDIA_NEXT=87; | KEYCODE_DPAD_UP=19; | KEYCODE_N=42; | KEYCODE_ENVELOPE=65; | KEYCODE_MEDIA_PREVIOUS=88; | KEYCODE_DPAD_DOWN=20; | KEYCODE_O=43; | KEYCODE_ENTER=66; | KEYCODE_MEDIA_REWIND=89; | KEYCODE_DPAD_LEFT=21; | KEYCODE_P=44; | KEYCODE_DEL=67; | KEYCODE_MEDIA_FAST_FORWARD=90; | KEYCODE_DPAD_RIGHT=22; | KEYCODE_Q=45; | KEYCODE_GRAVE=68; | KEYCODE_MUTE=91; |
driver.press_keycode()
通知栏
只有开,没有关
要关闭的方法
- 滑动操作
- 按返回键 key=4
driver.open_notifications()
|