Documentation
¶
Index ¶
- Variables
- func GetDeviceProperty(property string) (string, error)
- func InputText(text string) error
- func MustGetPropertie(prop string) string
- func OpenChrome(url string) error
- func SendKeyevent(keyEvent KeyEvent) error
- func Swipe(x1, y1, x2, y2 int) error
- func SwipeWithDuration(x1, y1, x2, y2, duration int) error
- func Tap(x, y int) error
- type Adb
- func (adb *Adb) ClearAppData() error
- func (adb *Adb) ClearLogcat() error
- func (adb *Adb) GetBatteryLevel() (int, error)
- func (adb *Adb) GrantAllPermissions() error
- func (adb *Adb) GrantPermission(permission AndroidPermission) error
- func (adb *Adb) InstallApp(apkPath string) error
- func (adb *Adb) IsDeviceOnline(deviceID string) (bool, error)
- func (adb *Adb) LaunchApp() error
- func (adb *Adb) ListDevices() ([]string, error)
- func (adb *Adb) PullFile(remotePath, localPath string) error
- func (adb *Adb) PushFile(localPath, remotePath string) error
- func (adb *Adb) QuitApp() error
- func (adb *Adb) RebootDevice() error
- func (adb *Adb) RevokePermission(permission string) error
- func (adb *Adb) StartLogcat(logFilePath string) error
- func (adb *Adb) StartScreenRecording(savePath string) error
- func (adb *Adb) StopApp() error
- func (adb *Adb) StopScreenRecording() error
- func (adb *Adb) TakeScreenshot(savePath string) error
- func (adb *Adb) UninstallApp() error
- type AndroidPermission
- type KeyEvent
Constants ¶
This section is empty.
Variables ¶
var KeyEvents = map[KeyEvent]string{ KEYCODE_UNKNOWN: "KEYCODE_UNKNOWN", KEYCODE_SOFT_LEFT: "KEYCODE_SOFT_LEFT", KEYCODE_SOFT_RIGHT: "KEYCODE_SOFT_RIGHT", KEYCODE_HOME: "KEYCODE_HOME", KEYCODE_BACK: "KEYCODE_BACK", KEYCODE_CALL: "KEYCODE_CALL", KEYCODE_END: "KEYCODE_END", KEYCODE_0: "KEYCODE_0", KEYCODE_1: "KEYCODE_1", KEYCODE_2: "KEYCODE_2", KEYCODE_3: "KEYCODE_3", KEYCODE_4: "KEYCODE_4", KEYCODE_5: "KEYCODE_5", KEYCODE_6: "KEYCODE_6", KEYCODE_7: "KEYCODE_7", KEYCODE_8: "KEYCODE_8", KEYCODE_9: "KEYCODE_9", KEYCODE_STAR: "KEYCODE_STAR", KEYCODE_POUND: "KEYCODE_POUND", KEYCODE_DPAD_UP: "KEYCODE_DPAD_UP", KEYCODE_DPAD_DOWN: "KEYCODE_DPAD_DOWN", KEYCODE_DPAD_LEFT: "KEYCODE_DPAD_LEFT", KEYCODE_DPAD_RIGHT: "KEYCODE_DPAD_RIGHT", KEYCODE_DPAD_CENTER: "KEYCODE_DPAD_CENTER", KEYCODE_VOLUME_UP: "KEYCODE_VOLUME_UP", KEYCODE_VOLUME_DOWN: "KEYCODE_VOLUME_DOWN", KEYCODE_POWER: "KEYCODE_POWER", KEYCODE_CAMERA: "KEYCODE_CAMERA", KEYCODE_CLEAR: "KEYCODE_CLEAR", KEYCODE_A: "KEYCODE_A", KEYCODE_B: "KEYCODE_B", KEYCODE_C: "KEYCODE_C", KEYCODE_D: "KEYCODE_D", KEYCODE_E: "KEYCODE_E", KEYCODE_F: "KEYCODE_F", KEYCODE_G: "KEYCODE_G", KEYCODE_H: "KEYCODE_H", KEYCODE_I: "KEYCODE_I", KEYCODE_J: "KEYCODE_J", KEYCODE_K: "KEYCODE_K", KEYCODE_L: "KEYCODE_L", KEYCODE_M: "KEYCODE_M", KEYCODE_N: "KEYCODE_N", KEYCODE_O: "KEYCODE_O", KEYCODE_P: "KEYCODE_P", KEYCODE_Q: "KEYCODE_Q", KEYCODE_R: "KEYCODE_R", KEYCODE_S: "KEYCODE_S", KEYCODE_T: "KEYCODE_T", KEYCODE_U: "KEYCODE_U", KEYCODE_V: "KEYCODE_V", KEYCODE_W: "KEYCODE_W", KEYCODE_X: "KEYCODE_X", KEYCODE_Y: "KEYCODE_Y", KEYCODE_Z: "KEYCODE_Z", KEYCODE_COMMA: "KEYCODE_COMMA", KEYCODE_PERIOD: "KEYCODE_PERIOD", KEYCODE_ALT_LEFT: "KEYCODE_ALT_LEFT", KEYCODE_ALT: "KEYCODE_ALT", KEYCODE_SHIFT_LEFT: "KEYCODE_SHIFT_LEFT", KEYCODE_SHIFT: "KEYCODE_SHIFT", KEYCODE_TAB: "KEYCODE_TAB", KEYCODE_SPACE: "KEYCODE_SPACE", KEYCODE_SYM: "KEYCODE_SYM", KEYCODE_EXPLORER: "KEYCODE_EXPLORER", KEYCODE_ENVELOPE: "KEYCODE_ENVELOPE", KEYCODE_ENTER: "KEYCODE_ENTER", KEYCODE_DEL: "KEYCODE_DEL", KEYCODE_GRAVE: "KEYCODE_GRAVE", KEYCODE_MINUS: "KEYCODE_MINUS", KEYCODE_EQUALS: "KEYCODE_EQUALS", KEYCODE_LEFT_BRACKET: "KEYCODE_LEFT_BRACKET", KEYCODE_RIGHT_BRACKET: "KEYCODE_RIGHT_BRACKET", KEYCODE_BACKSLASH: "KEYCODE_BACKSLASH", KEYCODE_SEMICOLON: "KEYCODE_SEMICOLON", KEYCODE_APOSTROPHE: "KEYCODE_APOSTROPHE", KEYCODE_SLASH: "KEYCODE_SLASH", KEYCODE_AT: "KEYCODE_AT", KEYCODE_NUM: "KEYCODE_NUM", KEYCODE_HEAD: "KEYCODE_HEAD", KEYCODE_FOCUS: "KEYCODE_FOCUS", KEYCODE_PLUS: "KEYCODE_PLUS", KEYCODE_MENU: "KEYCODE_MENU", KEYCODE_NOTIFICATION: "KEYCODE_NOTIFICATION", KEYCODE_SEARCH: "KEYCODE_SEARCH", KEYCODE_MEDIA_PLAY_PAUSE: "KEYCODE_MEDIA_PLAY_PAUSE", KEYCODE_MEDIA_STOP: "KEYCODE_MEDIA_STOP", KEYCODE_MEDIA_NEXT: "KEYCODE_MEDIA_NEXT", KEYCODE_MEDIA_PREVIOUS: "KEYCODE_MEDIA_PREVIOUS", KEYCODE_MEDIA_REWIND: "KEYCODE_MEDIA_REWIND", KEYCODE_MEDIA_FAST_FORWARD: "KEYCODE_MEDIA_FAST_FORWARD", KEYCODE_MUTE: "KEYCODE_MUTE", }
KeyEvents is a map of key events to their corresponding key codes.
var PermissionStrings = map[AndroidPermission]string{ StoragePermission: "android.permission.READ_EXTERNAL_STORAGE", CameraPermission: "android.permission.CAMERA", SendNotificationPermission: "android.permission.POST_NOTIFICATION", RecordAudioPermission: "android.permission.RECORD_AUDIO", PhonePermission: "android.permission.READ_PHONE_STATE", ContactsPermission: "android.permission.READ_CONTACTS", SmsPermission: "android.permission.SEND_SMS", InternetPermission: "android.permission.INTERNET", BluetoothPermission: "android.permission.BLUETOOTH", LocationBackgroundPermission: "android.permission.ACCESS_BACKGROUND_LOCATION", AccessFineLocationPermission: "android.permission.ACCESS_FINE_LOCATION", AccessCoarseLocationPermission: "android.permission.ACCESS_COARSE_LOCATION", AccessNetworkStatePermission: "android.permission.ACCESS_NETWORK_STATE", AccessWifiStatePermission: "android.permission.ACCESS_WIFI_STATE", ChangeWifiStatePermission: "android.permission.CHANGE_WIFI_STATE", ChangeNetworkStatePermission: "android.permission.CHANGE_NETWORK_STATE", AccessMockLocationPermission: "android.permission.ACCESS_MOCK_LOCATION", AccessLocationExtraCommandsPermission: "android.permission.LOCATION_EXTRA_COMMANDS", AccessCheckinPropertiesPermission: "android.permission.CHECKIN_PROPERTIES", AccessLocationPermission: "android.permission.ACCESS_LOCATION", AccessCheckinPermission: "android.permission.ACCESS_CHECKIN_PROPERTIES", AccessCoarseUpdatesPermission: "android.permission.ACCESS_COARSE_UPDATES", AccessFineUpdatesPermission: "android.permission.ACCESS_FINE_UPDATES", }
For those permissions you need root access
Functions ¶
func GetDeviceProperty ¶
GetDeviceProperty retrieves a specific device property by its name.
func MustGetPropertie ¶
MustGetPropertie retrieves a specific device property by its name and returns it as a string.
func OpenChrome ¶
OpenChrome opens the Chrome browser on the device.
func SendKeyevent ¶
SendKeyevent sends a key event to the device.
func SwipeWithDuration ¶
SwipeWithDuration swipes on the screen from the specified start to end coordinates with the specified duration.
Types ¶
type Adb ¶
type Adb struct { DeviceID string // Unique ID of the Android device PackageName string // The package name of the app being interacted with MainActivity string // The main activity of the app being interacted with WithAllPermissions bool // Grant all permissions to the app }
Adb struct contains the DeviceID and PackageName which are used for device and app interactions.
func NewAdb ¶
NewAdb creates a new Adb struct with the specified DeviceID, PackageName, MainActivity, and WithAllPermissions. NOTE withAllPermissions requires root access. make sure to have root access before using it. otherwise run withAllPermison = false.
func (*Adb) ClearAppData ¶
ClearAppData clears the app data for the app identified by PackageName.
func (*Adb) ClearLogcat ¶
ClearLogcat clears the logcat logs on the device.
func (*Adb) GetBatteryLevel ¶
GetBatteryLevel retrieves the battery level of the device.
func (*Adb) GrantAllPermissions ¶
GrantAllPermissions grants all permissions to the app. NOTE - This requires root access.
func (*Adb) GrantPermission ¶
func (adb *Adb) GrantPermission(permission AndroidPermission) error
GrantPermission grants a specific permission to the app. NOTE - This requires root access.
func (*Adb) InstallApp ¶
InstallApp installs an APK on the device.
func (*Adb) IsDeviceOnline ¶
IsDeviceOnline checks whether a device with the given deviceID is currently online.
func (*Adb) LaunchApp ¶
LaunchApp launches the app with the specified activity. If WithAllPermissions is set to true, all permissions will be granted to the app.
func (*Adb) ListDevices ¶
ListDevices lists all the connected devices and returns their device IDs.
func (*Adb) RevokePermission ¶
RevokePermission revokes a specific permission from the app. NOTE - This requires root access.
func (*Adb) StartLogcat ¶
StartLogcat starts capturing logcat logs and saves them to the specified file.
func (*Adb) StartScreenRecording ¶
StartScreenRecording starts recording the screen and saves it to the specified path.
func (*Adb) StopScreenRecording ¶
StopScreenRecording stops the screen recording process.
func (*Adb) TakeScreenshot ¶
TakeScreenshot takes a screenshot and saves it to the specified path.
func (*Adb) UninstallApp ¶
UninstallApp uninstalls the app identified by PackageName.
type AndroidPermission ¶
type AndroidPermission int
const ( StoragePermission AndroidPermission = iota CameraPermission SendNotificationPermission RecordAudioPermission PhonePermission ContactsPermission SmsPermission InternetPermission BluetoothPermission LocationBackgroundPermission AccessFineLocationPermission AccessCoarseLocationPermission AccessNetworkStatePermission AccessWifiStatePermission ChangeWifiStatePermission ChangeNetworkStatePermission AccessMockLocationPermission AccessLocationExtraCommandsPermission AccessCheckinPropertiesPermission AccessLocationPermission AccessCheckinPermission AccessCoarseUpdatesPermission AccessFineUpdatesPermission )
type KeyEvent ¶
type KeyEvent int
const ( KEYCODE_UNKNOWN KeyEvent = iota KEYCODE_SOFT_LEFT KEYCODE_SOFT_RIGHT KEYCODE_HOME KEYCODE_BACK KEYCODE_CALL KEYCODE_END KEYCODE_0 KEYCODE_1 KEYCODE_2 KEYCODE_3 KEYCODE_4 KEYCODE_5 KEYCODE_6 KEYCODE_7 KEYCODE_8 KEYCODE_9 KEYCODE_STAR KEYCODE_POUND KEYCODE_DPAD_UP KEYCODE_DPAD_DOWN KEYCODE_DPAD_LEFT KEYCODE_DPAD_RIGHT KEYCODE_DPAD_CENTER KEYCODE_VOLUME_UP KEYCODE_VOLUME_DOWN KEYCODE_POWER KEYCODE_CAMERA KEYCODE_CLEAR KEYCODE_A KEYCODE_B KEYCODE_C KEYCODE_D KEYCODE_E KEYCODE_F KEYCODE_G KEYCODE_H KEYCODE_I KEYCODE_J KEYCODE_K KEYCODE_L KEYCODE_M KEYCODE_N KEYCODE_O KEYCODE_P KEYCODE_Q KEYCODE_R KEYCODE_S KEYCODE_T KEYCODE_U KEYCODE_V KEYCODE_W KEYCODE_X KEYCODE_Y KEYCODE_Z KEYCODE_COMMA KEYCODE_PERIOD KEYCODE_ALT_LEFT KEYCODE_ALT KEYCODE_SHIFT_LEFT KEYCODE_SHIFT KEYCODE_TAB KEYCODE_SPACE KEYCODE_SYM KEYCODE_EXPLORER KEYCODE_ENVELOPE KEYCODE_ENTER KEYCODE_DEL KEYCODE_GRAVE KEYCODE_MINUS KEYCODE_EQUALS KEYCODE_LEFT_BRACKET KEYCODE_RIGHT_BRACKET KEYCODE_BACKSLASH KEYCODE_SEMICOLON KEYCODE_APOSTROPHE KEYCODE_SLASH KEYCODE_AT KEYCODE_NUM KEYCODE_HEAD KEYCODE_FOCUS KEYCODE_PLUS KEYCODE_MENU KEYCODE_NOTIFICATION KEYCODE_SEARCH KEYCODE_MEDIA_PLAY_PAUSE KEYCODE_MEDIA_STOP KEYCODE_MEDIA_NEXT KEYCODE_MEDIA_PREVIOUS KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_FAST_FORWARD KEYCODE_MUTE )