Welcome, Guest! Log In | Create Account

Zephyr



Zephyr in a Python Nutshell

Classes Overview

  • driver - this class is used to drive keyboard and mouse input.
  • image - provides functions for handling images. screencapture, image comparison.
  • image_search_result - all searches return this result class. it contains the result status, location, timings etc
  • input - key, mouse definition class. this is going to be refactored out into seperate keyboard/mouse classes.
  • stopwatch - helper clear for measuring time
  • utils - various utility functions
  • robot - this class uses to the above classes as building blocks to wrap some common automation functionality.

driver

  • bool = isInitialized()
  • point = getMousePosition()
  • mouseClick(button, x, y)
  • mouseDoubleClick(button, x, y)
  • mouseDown(button, x, y)
  • mouseMove(button, x, y)
  • mouseUp(button, x, y)
  • mouseWheel(delta)
  • keyDown(key)
  • keyPress(key)
  • keyUp(key)
  • sendText(text)

image

  • image_search_result = findImage(image)
  • image_search_result = findImage(image, x, y, tolerance=0)
  • int = getDepth(self)
  • int = getHeight(self)
  • int = getWidth(self)
  • bool = loadImage(filename)
  • bool = saveImage(filename, quality=100)
  • bool = takeScreenshot(display=0)
  • bool = takeScreenshot(x, y, width, height, display=0)

image_search_result

  • bool found - was image found? True/False
  • int searchTime - how long it took to find image in milliseconds
  • int height - width of image
  • int width - width of image
  • int x - x location on screen where image was found
  • int y - y location on screen where image was found

input

  • Mouse Buttons:
    • NO_BUTTON = 0
    • RIGHT_BUTTON = 2
    • LEFT_BUTTON = 1
    • MIDDLE_BUTTON = 3
  • Keycodes:
    • KEY_ADD = 40
    • KEY_APPS = 28
    • KEY_BACKSPACE = 1
    • KEY_CAPSLOCK = 9
    • KEY_CLEAR = 3
    • KEY_CONTROL = 6
    • KEY_DECIMAL = 43
    • KEY_DELETE = 24
    • KEY_DIVIDE = 44
    • KEY_DOWN = 19
    • KEY_END = 14
    • KEY_ESCAPE = 10
    • KEY_EXECUTE = 21
    • KEY_F1 = 45
    • KEY_F10 = 54
    • KEY_F11 = 55
    • KEY_F12 = 56
    • KEY_F13 = 57
    • KEY_F14 = 58
    • KEY_F15 = 59
    • KEY_F16 = 60
    • KEY_F17 = 61
    • KEY_F18 = 62
    • KEY_F19 = 63
    • KEY_F2 = 46
    • KEY_F20 = 64
    • KEY_F21 = 65
    • KEY_F22 = 66
    • KEY_F3 = 47
    • KEY_F4 = 48
    • KEY_F5 = 49
    • KEY_F6 = 50
    • KEY_F7 = 51
    • KEY_F8 = 52
    • KEY_F9 = 53
    • KEY_HELP = 25
    • KEY_HOME = 15
    • KEY_INSERT = 23
    • KEY_LCONTROL = 71
    • KEY_LEFT = 16
    • KEY_LMENU = 73
    • KEY_LSHIFT = 69
    • KEY_LWIN = 26
    • KEY_MENU = 7
    • KEY_MULTIPLY = 39
    • KEY_NUMLOCK = 67
    • KEY_NUMPAD0 = 29
    • KEY_NUMPAD1 = 30
    • KEY_NUMPAD2 = 31
    • KEY_NUMPAD3 = 32
    • KEY_NUMPAD4 = 33
    • KEY_NUMPAD5 = 34
    • KEY_NUMPAD6 = 35
    • KEY_NUMPAD7 = 36
    • KEY_NUMPAD8 = 37
    • KEY_NUMPAD9 = 38
    • KEY_PAGEDOWN = 13
    • KEY_PAGEUP = 12
    • KEY_PAUSE = 8
    • KEY_PRINTSCREEN = 22
    • KEY_RCONTROL = 72
    • KEY_RETURN = 4
    • KEY_RIGHT = 18
    • KEY_RMENU = 74
    • KEY_RSHIFT = 70
    • KEY_RWIN = 27
    • KEY_SCROLL = 68
    • KEY_SELECT = 20
    • KEY_SEPARATOR = 41
    • KEY_SHIFT = 5
    • KEY_SPACE = 11
    • KEY_SUBTRACT = 42
    • KEY_TAB = 2
    • KEY_UP = 17

robot

  • robot(imageDirectory) - specify path to images. any image functions are expected to be relative to this directory

  • disableExceptions(self) - Disable exceptions when searching for images. Useful if have an if/else test
  • enableExceptions(self) - Enable exceptions when searching for images. Useful if have an if/else test
  • bool = getDisableExceptions(self) - Are exceptions disabled or not
  • setTimeout(seconds=30) - Set the default timeout in seconds for image searches
  • findImage(imagename, x=0, y=0) - searchs for image from top left to bottom right. You can specify a starting x,y.
  • findAndClick(imagename, x=0, y=0, button=LEFT_BUTTON, relativeX=0, relativeY=0) - Search for image and click on it. You can specify a start x/y location, what button to click. You can also speficy a relative location to click.
  • string = getImageFilename(imagename) - gets full pathname to relative imagename
  • saveScreenshot(imagename, waitMilliseconds=0, x=-1, y=-1,width=-1,height=-1) - Saves screenshot to imagename. You can specify how long to wait before taking screenshot, x, y width and height of screenshot.
  • mouseClick(button, x, y)
  • mouseDoubleClick(button, x, y)
  • mouseDown(button, x, y)
  • mouseMove(button, x, y)
  • mouseUp(button, x, y)
  • mouseWheel(delta)
  • keyDown(key)
  • keyPress(key)
  • keyUp(key)
  • sendText(text)

  • getScreenDepth(self)
  • getScreenHeight(self)
  • getScreenWidth(self)
  • string = getVersion() - Returns the version of Zephyr

stopwatch

  • long = elapsed() - elapsed time in milliseconds
  • pause() - pause the timer
  • resume() - resume the timer
  • start() - start the time

utils

  • File System:
    • bool = dirExists(filename)
    • bool = makeDir(filename)
    • bool = removeDir(filename)
    • bool = removeFile(filename)
    • bool = fileExists(filename)
    • long = execute(filename, waitToFinish=True)
  • Time/Date:
    • string = getDateTime() - gets friendly date/time
    • long = getEpoch() - returns current epoch
  • System info:
    • string = getHostname()
    • string = getOsDescription()
    • string = getOsVersion()
    • string = getUserHome()
    • string = getUsername()
  • General:
    • sleep(milliseconds) - sleep for n milliseconds
    • string = getVersion() - Returns the version of Zephyr