Airtest IDE 自動化測試11 - text 和 keyevent


前言

在 Airtest IDE 的 Airtest錄制輔助窗內,包含有三種類型的錄制按鈕:

操作類型 輔助類型 斷言類型
touch text assert_exists
swipe keyevent assert_not_exists
wait sleep assert_equal
exist assert_not_equal
snapshot

text 輸入文本

在目標設備上輸入文本,文本框需要處於激活狀態
參數:

  • text :要輸入的文本
  • enter :完成輸入后默認執行 Enter 操作 ,默認是 True
  • search :完成輸入后強制執行search 操作,默認是 False

返回: None
支持平台: Android, Windows, iOS

使用示例

>>> text("test")
>>> text("test", enter=False)

在Android上,有時你需要在輸入完畢后點擊搜索按鈕:

text("test", search=True)

Module airtest.core.android.ime.YosemiteIme.code
如果你想輸入其它鍵,可以使用這個接口::

>>> text("test")
>>> device().yosemite_ime.code("3")  # 3 = IME_ACTION_SEARCH

keyevent

在設備上執行 keyevent 按鍵事件

  • keyname – 平台相關的按鍵名稱
  • **kwargs – 平台相關的參數 kwargs,請參考對應的平台接口文檔

返回 None 支持平台:Android, Windows, iOS

Android: 相當於執行了 adb shell input keyevent KEYNAME

>>> keyevent("HOME")
>>> # The constant corresponding to the home key is 3
>>> keyevent("3")  # same as keyevent("HOME")
>>> keyevent("BACK")
>>> keyevent("KEYCODE_DEL")

Module airtest.core.android.adb.ADB.keyevent 相當於調用 android.adb.keyevent()

Windows: 使用 pywinauto.keyboard 進行按鍵點擊:

>>> keyevent("{DEL}")
>>> keyevent("%{F4}")  # close an active window with Alt+F4

Module airtest.core.win.win.Windows.keyevent 調用 pywinauto.keyboard

iOS: 僅支持 home/volumeUp/volumeDown:

>>> keyevent("HOME")
>>> keyevent("volumeUp")

adb 使用 keyevent

1.keyevent事件有一張對應的表,可以直接發送對應的數字,也可以方式字符串,如下兩個方法都能實現back鍵。打開cmd輸入指令

方法一:

adb shell input keyevent KEYCODE_BACK

方法二:

adb shell input keyevent 4

2.常用的keyevent事件

解鎖(KEYCODE_NOTIFICATION): adb shell input keyevent 83

向上(KEYCODE_DPAD_UP):adb shell input keyevent 19

向下(KEYCODE_DPAD_DOWN):adb shell input keyevent 20

向左(KEYCODE_DPAD_LEFT):adb shell input keyevent 21

向右(KEYCODE_DPAD_RIGHT):adb shell input keyevent 22

keyevent事件對應數字

0 –> “KEYCODE_UNKNOWN”
1 –> “KEYCODE_MENU”
2 –> “KEYCODE_SOFT_RIGHT”
3 –> “KEYCODE_HOME”
4 –> “KEYCODE_BACK”
5 –> “KEYCODE_CALL”
6 –> “KEYCODE_ENDCALL”
7 –> “KEYCODE_0”
8 –> “KEYCODE_1”
9 –> “KEYCODE_2”
10 –> “KEYCODE_3”
11 –> “KEYCODE_4”
12 –> “KEYCODE_5”
13 –> “KEYCODE_6”
14 –> “KEYCODE_7”
15 –> “KEYCODE_8”
16 –> “KEYCODE_9”
17 –> “KEYCODE_STAR”
18 –> “KEYCODE_POUND”
19 –> “KEYCODE_DPAD_UP”
20 –> “KEYCODE_DPAD_DOWN”
21 –> “KEYCODE_DPAD_LEFT”
22 –> “KEYCODE_DPAD_RIGHT”
23 –> “KEYCODE_DPAD_CENTER”
24 –> “KEYCODE_VOLUME_UP”
25 –> “KEYCODE_VOLUME_DOWN”
26 –> “KEYCODE_POWER”
27 –> “KEYCODE_CAMERA”
28 –> “KEYCODE_CLEAR”
29 –> “KEYCODE_A”
30 –> “KEYCODE_B”
31 –> “KEYCODE_C”
32 –> “KEYCODE_D”
33 –> “KEYCODE_E”
34 –> “KEYCODE_F”
35 –> “KEYCODE_G”
36 –> “KEYCODE_H”
37 –> “KEYCODE_I”
38 –> “KEYCODE_J”
39 –> “KEYCODE_K”
40 –> “KEYCODE_L”
41 –> “KEYCODE_M”
42 –> “KEYCODE_N”
43 –> “KEYCODE_O”
44 –> “KEYCODE_P”
45 –> “KEYCODE_Q”
46 –> “KEYCODE_R”
47 –> “KEYCODE_S”
48 –> “KEYCODE_T”
49 –> “KEYCODE_U”
50 –> “KEYCODE_V”
51 –> “KEYCODE_W”
52 –> “KEYCODE_X”
53 –> “KEYCODE_Y”
54 –> “KEYCODE_Z”
55 –> “KEYCODE_COMMA”
56 –> “KEYCODE_PERIOD”
57 –> “KEYCODE_ALT_LEFT”
58 –> “KEYCODE_ALT_RIGHT”
59 –> “KEYCODE_SHIFT_LEFT”
60 –> “KEYCODE_SHIFT_RIGHT”
61 –> “KEYCODE_TAB”
62 –> “KEYCODE_SPACE”
63 –> “KEYCODE_SYM”
64 –> “KEYCODE_EXPLORER”
65 –> “KEYCODE_ENVELOPE”
66 –> “KEYCODE_ENTER”
67 –> “KEYCODE_DEL”
68 –> “KEYCODE_GRAVE”
69 –> “KEYCODE_MINUS”
70 –> “KEYCODE_EQUALS”
71 –> “KEYCODE_LEFT_BRACKET”
72 –> “KEYCODE_RIGHT_BRACKET”
73 –> “KEYCODE_BACKSLASH”
74 –> “KEYCODE_SEMICOLON”
75 –> “KEYCODE_APOSTROPHE”
76 –> “KEYCODE_SLASH”
77 –> “KEYCODE_AT”
78 –> “KEYCODE_NUM”
79 –> “KEYCODE_HEADSETHOOK”
80 –> “KEYCODE_FOCUS”
81 –> “KEYCODE_PLUS”
82 –> “KEYCODE_MENU”
83 –> “KEYCODE_NOTIFICATION”
84 –> “KEYCODE_SEARCH”
85 –> “TAG_LAST_KEYCODE”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM