Welcome to Skaion ConsoleUser’s API Documentation!¶
ConsoleUser is both a library containing many high- and low-level ways to interact with a target system, and a set of “brains” that make decisions about how to use those libraries to create human-like activity on that system. Below are links to many of the aspects of each of those parts that can be used.
For a more complete discussion of how to develop using or extending ConsoleUser see `The ConsoleUser Developer Guide[https://docs.skaion.com/devel/cu/index.html]`_
Contents:
- 1. User Level Objects
- 2. Objects to interact with the remote system
- 2.1. Objects to communicate with the remote system
SystemSystemImplget_system()RFBSystemImplRFBPySystemImplATSPISystemATSPISystem.click_mouse()ATSPISystem.click_region()ATSPISystem.click_within()ATSPISystem.find_region()ATSPISystem.get_logger_id()ATSPISystem.get_screen()ATSPISystem.insert_text()ATSPISystem.key_down()ATSPISystem.key_up()ATSPISystem.mouse_down()ATSPISystem.mouse_up()ATSPISystem.move_mouse()ATSPISystem.set_text()
- 2.1.1. d3des
PixelFormatRFBConnectionbyte_to_int()bytes_to_int()map_key()null_auth()read_raw_pixels()
- 2.2. Objects that modify/encapsulate user behavior
- 2.3. System Configuration
- 2.4. Objects to login/logout from system
- 2.4.1. Abstract Objects for Login Control
- 2.4.2. Concrete Objects to Login/Logout
CentOS7XFCELoginManagerFedora11LoginManagerusage()Fedora15LoginManagerNullLoginManagerWindowsXPLoginManagerusage()WindowsXPSafeModeLoginManagerWindowsXPSmartCardLoginManagerWindows2008LoginManagerWindows7LoginManagerWindows7CMACLoginManagerWindows7SafeModeLoginManagerWindows7SmartCardLoginManagerWindows10LoginManagerWindows11LoginManagerXubuntu14LoginManager
- 2.1. Objects to communicate with the remote system
- 3. Objects to match regions of the screen
NumpyRegionATSPIRegionPatternMatcherImplRangePatternMatcherImpl- 3.1. Region
RegionRegion.count_color()Region.debugprint()Region.find_colors()Region.find_in_region()Region.find_regions()Region.from_array()Region.get_row()Region.get_size()Region.get_sub_region()Region.get_value_at()Region.is_black()Region.is_white()Region.match_at()Region.save_as_png()Region.show()Region.show_async()Region.use_exact_matching()
get_region()RegionMatcherRegionMatcherImplget_matcher()ThresholdPatternMatcherImplATSPIRegionMatcherImplWindowWindow.click_titlebar()Window.contains()Window.contains_above()Window.contains_below()Window.contains_text()Window.corners_valid()Window.count_matches()Window.find_panel()Window.find_regions_with_scroll()Window.get_focus()Window.has_dialog()Window.has_focus()Window.move_mouse_out()Window.move_within()Window.not_contains()Window.panel_from_region()Window.scroll_to_bottom()Window.scroll_to_top()Window.set_app()Window.should_be_focused()
get_window()WindowsXPWindowWindowsVistaWindowWindows7WindowWindows10WindowWindows11WindowWindows2008WindowCentOS7XFCEWindowChrome64CentOS7XFCEWindowChrome64CentOS7XFCEWindowChrome64Xubuntu14WindowChromeWindows7WindowChromeWindows10WindowChromeWindows11WindowDesktopWindowDummyWindowDummyWindow.at_bottom()DummyWindow.at_top()DummyWindow.can_scroll()DummyWindow.find_regions_within()DummyWindow.find_text()DummyWindow.find_window_edges()DummyWindow.get_focus()DummyWindow.has_focus()DummyWindow.move_mouse_out()DummyWindow.save_state()DummyWindow.scroll_down()DummyWindow.scroll_to_bottom()DummyWindow.scroll_to_top()DummyWindow.scroll_up()
Fedora11WindowFirefoxWindows7WindowFirefoxWindows10WindowFluxboxWindowGajimWin7WindowGajimWin10WindowLocalWindowStartMenuWindowWin10_1511StartMenuWindowWin10StartMenuWindowWin11Thunderbird45Windows10WindowWindows7Office2010WindowWindows10Office2013WindowWindowStubXubuntu14WindowATSPIWindowATSPIWindow.can_scroll()ATSPIWindow.contains()ATSPIWindow.contains_below()ATSPIWindow.contains_text()ATSPIWindow.find_links()ATSPIWindow.find_regions_with_scroll()ATSPIWindow.find_regions_within()ATSPIWindow.get_desktop()ATSPIWindow.get_focus()ATSPIWindow.has_focus()ATSPIWindow.move_mouse_out()ATSPIWindow.move_within()ATSPIWindow.not_contains()ATSPIWindow.save_state()ATSPIWindow.scroll_down()ATSPIWindow.scroll_up()ATSPIWindow.select()ATSPIWindow.select_field()ATSPIWindow.select_text()ATSPIWindow.should_be_focused()ATSPIWindow.verify_typing()
Ubuntu20WindowFontUnusedExceptionclean_up()get_font()load_dat_from_files()
- 4. Objects that control applications
ApplicationImplApplicationImpl.Print()ApplicationImpl.can_find_in_taskbar()ApplicationImpl.cleanup()ApplicationImpl.click_random_link()ApplicationImpl.exit()ApplicationImpl.is_loaded()ApplicationImpl.is_on_top()ApplicationImpl.is_open()ApplicationImpl.is_ready()ApplicationImpl.open()ApplicationImpl.take_top_window()
prep_check()WebAppImpl- 4.1. System/Platform Objects
- 4.1.1. Abstract System Objects
PlatformWindowsSafeModeImpltest()WindowsPlatformWindowsPlatform.allow_through_firewall()WindowsPlatform.expand_program_menu()WindowsPlatform.get_resolution()WindowsPlatform.handle_uac()WindowsPlatform.handle_uac_creds()WindowsPlatform.handle_uac_unfocused()WindowsPlatform.handle_uac_yes()WindowsPlatform.open_run_dialog()WindowsPlatform.save_as()WindowsPlatform.try_config()
CentOS7PlatformAndroidPlatform
- 4.1.2. Concrete System Objects
- 4.1.1. Abstract System Objects
- 4.2. ATAK
- 4.3. Blogs
- 4.3.1. Abstract Blogs
- 4.3.2. Concrete Blogs
ElggCentOS7XFCEChrome64ElggWin7Chrome63test()Elgg3Win10Chrome63test()ElggXubuntu14Chrome64Elgg3FluxboxFirefox107test()ElggWin10Chrome63test()Elgg3Win10Chrome99test()Elgg3Win10Chrome107test()FriendicaCentOS7XFCEChrome64FriendicaWin7Chrome63test()FriendicaWin10Chrome63test()FriendicaXubuntu14Chrome64WordPressFirefox34FluxboxWordPressFirefox51Win7WordPressFirefox51Win10
- 4.4. Web Browsing
- 4.4.1. Abstract Web Browsing Objects
AndroidBrowserChromeGenericFedoraFirefoxFirefoxGenericIEGenericImplIE8GenericImplIE9GenericImplIE11GenericImplWebBrowserWebBrowserImplWebBrowserImpl.click_link()WebBrowserImpl.click_random_link()WebBrowserImpl.close_remember_password()WebBrowserImpl.confirm_leave()WebBrowserImpl.do_helper()WebBrowserImpl.download_file()WebBrowserImpl.download_link()WebBrowserImpl.download_uri()WebBrowserImpl.exit2()WebBrowserImpl.fill_in_form()WebBrowserImpl.generate_text()WebBrowserImpl.go_back()WebBrowserImpl.go_forward()WebBrowserImpl.go_to_uri()WebBrowserImpl.handel_invalid_cert()WebBrowserImpl.has_confirm_leave()WebBrowserImpl.has_remember_password()WebBrowserImpl.is_loaded()WebBrowserImpl.read()WebBrowserImpl.reload()
get_browser_impl()
- 4.4.2. Concrete Web Browsers
Android6BrowserChrome55NexusS7_1Chrome63Win7test()Chrome63Win10test()Chrome64CentOS7XFCEChrome64Xubuntu14Chrome99Win10test()Chrome107Win10test()Chrome96Win11test()IE8Windows2008ImplIE9Windows7ImplIE11Windows7ImplFirefoxFedoraCore11FirefoxFedoraCore15Firefox24Win7Firefox31FluxboxCentosFirefox34FluxboxFirefox81Ubuntu20Firefox51Win7test()Firefox51Win10test()Firefox56Win7Firefox67FluxboxFirefox75FluxboxFirefox98Win10
- 4.4.3. Browser Helpers
- 4.4.1. Abstract Web Browsing Objects
- 4.5. Chat
- 4.6. Encryption
- 4.7. Email
- 4.7.1. Abstract Email Client Objects
EmailClientEmailClient.compose_new()EmailClient.delete()EmailClient.forward()EmailClient.get_message_count()EmailClient.has_attachments()EmailClient.has_links()EmailClient.open_attachment()EmailClient.read()EmailClient.reply()EmailClient.reply_all()EmailClient.save_attachments()EmailClient.select_folder()EmailClient.select_message_by_ind()EmailClient.select_message_by_sender()EmailClient.select_message_by_subject()EmailClient.select_random_message()
EmailClientImplEmailClientImpl.click_random_link()EmailClientImpl.compose_new()EmailClientImpl.delete()EmailClientImpl.exit()EmailClientImpl.forward()EmailClientImpl.get_message_count()EmailClientImpl.get_message_list_pane()EmailClientImpl.get_reg_offset()EmailClientImpl.has_attachments()EmailClientImpl.has_links()EmailClientImpl.open_attachment()EmailClientImpl.reply()EmailClientImpl.reply_all()EmailClientImpl.save_attachments()EmailClientImpl.select_folder()EmailClientImpl.select_message_by_ind()EmailClientImpl.select_message_by_sender()EmailClientImpl.select_message_by_subject()EmailClientImpl.select_random_message()
get_email_client()K9EmailNotes8_5OutlookOutlook2007Outlook2010OWARainLoopThunderbirdYahooMail
- 4.7.2. Concreate Email Clients
K9Android6Outlook2003XPOutlook2007XPOutlook2007Win7Outlook2007Win7AGMOutlook2007Win7USAFOutlook2010Win7Outlook2016Win10test()OWAIE11Win7Notes8_5XPRainLoopCentOS7XFCEChrome64RainLoopWin7Chrome63RainLoopWin10Chrome63RainLoopXubuntu14Chrome64Thunderbird3FC15Thunderbird31FluxboxThunderbird102Fluxboxtest()Thunderbird38CentOS7XFCEThunderbird45Win7test()Thunderbird45Win10test()Thunderbird52Xubuntu14Thunderbird68Fluxboxtest()Thunderbird91Win10test()Thunderbird102Win10test()YahooMailIE8XP
- 4.7.1. Abstract Email Client Objects
- 4.8. FTP
- 4.9. Image Sharing
- 4.10. Media players
- 4.11. MicroBlog
- 4.12. Office/Productivity
- 4.12.1. Abstract Office/Productivity Objects
- 4.12.2. Word Processor Applications
- 4.12.2.1. Abstract Word Processor Objects
- 4.12.2.2. Concrete Word Processor Objects
- 4.12.3. Spreadsheet Applications
- 4.12.4. Presentation Applications
- 4.13. Payments
- 4.14. P2P
- 4.15. PDFViewer
- 4.16. Phone Call
- 4.17. Project Management
- 4.18. Source Code Management
- 4.19. Secure Copy (SCP)
- 4.20. System Administration
- 4.20.1. Disk Defragmenting
- 4.20.2. Virus Scanning
- 4.20.3. Process Monitoring
- 4.20.4. Command Shell Applications
- 4.20.5. Explorer
- 4.20.6. Updating an OS/Platform
- 4.20.7. Restoring a system
Firewallget_firewall()SysInternalsSysInternalsImplget_sys_internals()SysInternalsXPSysInternalsWin7
- 5. “Brains” to control the fingers and eyes
Brainget_brain()- 5.1. Markov Chains Brain
MarkovBrain- 5.2. Markov Brain Supports
- 5.2.1. ModuleBrain
ModuleBrainModuleBrain.Print()ModuleBrain.exit()ModuleBrain.get_actions()ModuleBrain.get_mod_name()ModuleBrain.get_user_apps()ModuleBrain.handle_negotiation()ModuleBrain.is_failed()ModuleBrain.is_ready()ModuleBrain.is_user_app()ModuleBrain.load_preaction_checks()ModuleBrain.open()ModuleBrain.preaction_check()ModuleBrain.reset_ready_state()ModuleBrain.restart()ModuleBrain.should_use_iodine()ModuleBrain.start_iodine()ModuleBrain.stop_iodine()
- 5.2.2. ChooserBase
ChooserBasetest()- 5.2.3. CDFChooser
CDFChoosertest()- 5.2.4. MarkovChooser
MarkovChooserMarkovChooser.get_all_choices()MarkovChooser.get_keys()MarkovChooser.get_values()MarkovChooser.is_state()MarkovChooser.load_from_db()MarkovChooser.load_from_file()MarkovChooser.load_string()MarkovChooser.next_choice()MarkovChooser.num_choices()MarkovChooser.reset()MarkovChooser.set_state()
test()- 5.2.5. Distribution
new_distribution()- 5.2.6. GenerateText
GenerateText
- 6. Utility/Misc. Classes
CUObjectLoggerLogger.debug()Logger.doStderr()Logger.elog()Logger.getDebug()Logger.getTrace()Logger.getVerbose()Logger.get_null()Logger.get_path()Logger.log()Logger.openErr()Logger.openLog()Logger.setDebug()Logger.setTrace()Logger.setVerbose()Logger.set_null()Logger.trace()Logger.vlog()Logger.vprint()Logger.wlog()
debug()doStderr()elog()getDebug()getTrace()getVerbose()init()load_config()log()openErr()openLog()setDebug()setTrace()setVerbose()trace()trace_and_prep()trace_instance()vlog()vprint()wlog()SystemImplTestgetTestUser()get_test_user()parse_args()run_unittest()UnknownTypeExceptiongeneric_factory()get_class()get_coords()get_desktop_window()get_time()load_region()select_bottom()select_random()select_rightest()select_top()skip_top()str2bool()
- 7. Inheritance Diagram
- 8. Testing
- 9. Errors