导入appium和selenium(如图①)
运行的时候,一直报错:AttributeError: 'WebDriver' object has no attribute
'swipe'---WebDriver对象没有swipe属性
原因:在导入的时候appium放在了selenium的前面,导致selenium把appium覆盖了,把两者的位置调换一下就可以了
(1) python在使用TouchAction实现滑动解锁时,坐标需要写(x=0, y=ystep),实例如下:
TouchAction(self.driver).press(x=xStartPoint, y=yStartPoint).wait(1000).move_to(x=0,
y=ystep).wait(1000).move_to(x=0, y=ystep).wait(1000).move_to(x=xstep,
y=0).release().perform()
(2) 而Java在使用TouchAction实现滑动解锁时,直接填写填写坐标值即可,实例如下
TouchActionslide = new TouchAction(driver).press(x, y).waitAction(500).moveTo(0,
yStep).waitAction(500).moveTo(0,yStep).waitAction(500).moveTo(xStep, 0).release();
(1) python定位方法:UI界面如下 【红色框内为子控件】
#uker健康个人中心---编辑地址
self.driver.find_element_by_id('cn.sccl.xxxx.android:id/uhealth_personal_center_info_address').click()
#获取元素所在的控件
cityDialog = self.driver.find_element_by_id('cn.sccl.xxxx.android:id/uhealth_lv_city')
#通过控件去定位控件内的元素
cityDialog.find_element_by_name('河北省').click()
cityDialog.find_element_by_name('邯郸市').click()
self.driver.find_element_by_name('保存').click()
time.sleep(3)
(2) Java定位方法:
//uker健康个人中心---编辑地址
driver.findElementById("cn.sccl.xxxx.android:id/uhealth_personal_center_info_address").click();
//获取元素所在的控件
MobileElement city = (MobileElement) driver.findElementById(“cn.sccl.ilife.android:id/uhealth_
lv_city”);
MobileElement city_1 = (MobileElement)city.findElementByName(“河北省”);
city_1.click();
MobileElement shi = (MobileElement)city.findElementByName(“石家庄市”);
shi.click();
或者:
MobileElement city = (MobileElement) driver.findElementById(“cn.sccl.xxxx.android:id/uhealth_
lv_city”);
city.findElementByName("河北省").click();
city.findElementByName("石家庄市").click();(1)方法1--- AppiumDriver实现 按键
driver.sendKeyEvent(66); //点击回车键
附录:keycode
电话键
KEYCODE_CALL |
拨号键 |
5 |
KEYCODE_ENDCALL |
挂机键 |
6 |
KEYCODE_HOME |
按键Home |
3 |
KEYCODE_MENU |
菜单键 |
82 |
KEYCODE_BACK |
返回键 |
4 |
KEYCODE_SEARCH |
搜索键 |
84 |
KEYCODE_CAMERA |
拍照键 |
27 |
KEYCODE_FOCUS |
拍照对焦键 |
80 |
KEYCODE_POWER |
电源键 |
26 |
KEYCODE_NOTIFICATION |
通知键 |
83 |
KEYCODE_MUTE |
话筒静音键 |
91 |
KEYCODE_VOLUME_MUTE |
扬声器静音键 |
164 |
KEYCODE_VOLUME_UP |
音量增加键 |
24 |
KEYCODE_VOLUME_DOWN |
音量减小键 |
25 |
控制键
KEYCODE_ENTER |
回车键 |
66 |
KEYCODE_ESCAPE |
ESC键 |
111 |
KEYCODE_DPAD_CENTER |
导航键:确定键 |
23 |
KEYCODE_DPAD_UP |
导航键:向上 |
19 |
KEYCODE_DPAD_DOWN |
导航键:向下 |
20 |
KEYCODE_DPAD_LEFT |
导航键:向左 |
21 |
KEYCODE_DPAD_RIGHT |
航键:向右 |
22 |
KEYCODE_MOVE_HOME |
光标移动到开始键 |
122 |
KEYCODE_MOVE_END |
光标移动到末尾键 |
123 |
KEYCODE_PAGE_UP |
向上翻页键 |
92 |
KEYCODE_PAGE_DOWN |
向下翻页键 |
93 |
KEYCODE_DEL |
退格键 |
67 |
KEYCODE_FORWARD_DEL |
删除键 |
112 |
KEYCODE_INSERT |
插入键 |
124 |
KEYCODE_TAB |
Tab键 |
61 |
KEYCODE_NUM_LOCK |
小键盘锁 |
143 |
KEYCODE_CAPS_LOCK |
大写锁定键 |
115 |
KEYCODE_BREAK |
reak/Pause键 |
121 |
KEYCODE_SCROLL_LOCK |
滚动锁定键 |
116 |
KEYCODE_ZOOM_IN |
放大键 |
168 |
KEYCODE_ZOOM_OUT |
缩小键 |
169 |
基本
KEYCODE_0 |
按键'0' |
7 |
KEYCODE_1 |
按键'1' |
8 |
KEYCODE_2 |
按键'2' |
9 |
KEYCODE_3 |
按键'3' |
10 |
KEYCODE_4 |
按键'4' |
11 |
KEYCODE_5 |
按键'5' |
12 |
KEYCODE_6 |
按键'6' |
13 |
KEYCODE_7 |
按键'7' |
14 |
KEYCODE_8 |
按键'8' |
15 |
KEYCODE_9 |
按键'9' |
16 |
KEYCODE_A |
按键'A' |
29 |
KEYCODE_B |
按键'B' |
30 |
KEYCODE_C |
按键'C' |
31 |
KEYCODE_D |
按键'D' |
32 |
KEYCODE_E |
按键'E' |
33 |
KEYCODE_F |
按键'F' |
34 |
KEYCODE_G |
按键'G' |
35 |
KEYCODE_H |
按键'H' |
36 |
KEYCODE_I |
按键'I' |
37 |
KEYCODE_J |
按键'J' |
38 |
KEYCODE_K |
按键'K' |
39 |
KEYCODE_L |
按键'L' |
40 |
KEYCODE_M |
按键'M' |
41 |
KEYCODE_N |
按键'N' |
42 |
KEYCODE_O |
按键'O' |
43 |
KEYCODE_P |
按键'P' |
44 |
KEYCODE_Q |
按键'Q' |
45 |
KEYCODE_R |
按键'R' |
46 |
KEYCODE_S |
按键'S' |
47 |
KEYCODE_T |
按键'T' |
48 |
KEYCODE_U |
按键'U' |
49 |
KEYCODE_V |
按键'V' |
50 |
KEYCODE_W |
按键'W' |
51 |
KEYCODE_X |
按键'X' |
52 |
KEYCODE_Y |
按键'Y' |
53 |
KEYCODE_Z |
按键'Z' |
54 |
组合键
KEYCODE_ALT_LEFT |
Alt+Left |
KEYCODE_ALT_RIGHT |
Alt+Right |
KEYCODE_CTRL_LEFT |
Control+Left |
KEYCODE_CTRL_RIGHT |
Control+Right |
KEYCODE_SHIFT_LEFT |
Shift+Left |
KEYCODE_SHIFT_RIGHT |
Shift+Right |