appium总结

1调起已安装APP时,传入的appActivity调不起来,提示被拒绝。此时的解决办法可以是调mainactivity来解决这个问题。但是名字叫做mainactivity的不一定是真正的mainactivity。如果你是测试人员,建议你问一下开发真正的mainactivity,或者要来AndroidManifest文件自己查一下。
2、desired_caps的几个属性。automationName 自动化测试引擎:Appium (默认) 或 Selendroid。newCommandTimeout 设置收到下一条命令的超时时间,超时appium会自动关闭session。 unicodeKeyboard 支持中文输入,会自动安装Unicode 输入法。默认值为 false。resetKeyboard 在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。appWaitActivity 想要等待启动的Android Activity名称。
3、driver常用方法
driver.hide_keyboard();//隐藏键盘
driver.background_app(60);//60秒后把当前应用放到后台去
driver.lock(3); //锁定屏幕
driver.start_activity(“com.iwobanas.screenrecorder.pro”, “com.iwobanas.screenrecorder.RecorderActivity”);
//在当前应用中打开一个 activity 或者启动一个新应用并打开一个 activity
driver.open_notifications();//打开下拉通知栏 只能在 Android 上使用
driver.is_app_installed(“com.example.android.apis-“);//检查应用是否已经安装
driver.install_app(“path/to/my.apk”);//安装应用到设备中去
driver.remove_app(“com.example.android.apis”);//从设备中删除一个应用
driver.shake_device();//模拟设备摇晃
driver.close_app();//关闭应用
driver.launch_app();//根据服务关键字 (desired capabilities) 启动会话 (session) 。请注意这必须在设定 autoLaunch=false 关键字时才能生效。这不是用于启动指定的 app/activities
driver.keyevent(176);//给设备发送一个按键事件:keycode
driver.current_activity;//获取当前 activity。只能在 Android 上使用

driver.keyevent(int )的使用: 可使用KeyEvent发送键盘数据,比如退格,Enter键等
driver.keyevent(3); //KEYCODE_HOME 按键Home 3
driver.keyevent(26); //KEYCODE_POWER 电源键 26
driver.keyevent(67); //KEYCODE_DEL 退格键 67
driver.keyevent(66); //KEYCODE_ENTER 回车键
driver.keyevent(122); //KEYCODE_MOVE_HOME 光标移动到开始
driver.keyevent(123); //KEYCODE_MOVE_END 光标移动到末尾

4.为防止不同手机分辨率不同带来的影响,要避免使用固定的坐标,可以用以下方式获取元素的坐标
driver.get_window_size()
element.location
element.size
5.adb命令查看屏幕顶层activity
adb shell dumpsys activity | findstr “mFocusedActivity”
6.元素长按

>>> from appium.webdriver.webdriver import TouchAction
>>> action1=TouchAction(driver)
>>> action1.long_press(el).wait(1000).perform()

7、通过text定位元素

>>> driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.TextView").text("合作")').click()

附录 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 Break/Pause键 121
KEYCODE_SCROLL_LOCK 滚动锁定键 116
KEYCODE_ZOOM_IN 放大键 168
KEYCODE_ZOOM_OUT 缩小键 169

组合键

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

基本

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值