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
System
SystemImpl
get_system()
RFBSystemImpl
RFBPySystemImpl
ATSPISystem
ATSPISystem.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
PixelFormat
RFBConnection
byte_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
CentOS7XFCELoginManager
Fedora11LoginManager
usage()
Fedora15LoginManager
NullLoginManager
WindowsXPLoginManager
usage()
WindowsXPSafeModeLoginManager
WindowsXPSmartCardLoginManager
Windows2008LoginManager
Windows7LoginManager
Windows7CMACLoginManager
Windows7SafeModeLoginManager
Windows7SmartCardLoginManager
Windows10LoginManager
Windows11LoginManager
Xubuntu14LoginManager
- 2.1. Objects to communicate with the remote system
- 3. Objects to match regions of the screen
NumpyRegion
ATSPIRegion
PatternMatcherImpl
RangePatternMatcherImpl
- 3.1. Region
Region
Region.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()
RegionMatcher
RegionMatcherImpl
get_matcher()
ThresholdPatternMatcherImpl
ATSPIRegionMatcherImpl
Window
Window.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()
WindowsXPWindow
WindowsVistaWindow
Windows7Window
Windows10Window
Windows11Window
Windows2008Window
CentOS7XFCEWindow
Chrome64CentOS7XFCEWindow
Chrome64CentOS7XFCEWindow
Chrome64Xubuntu14Window
ChromeWindows7Window
ChromeWindows10Window
ChromeWindows11Window
DesktopWindow
DummyWindow
DummyWindow.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()
Fedora11Window
FirefoxWindows7Window
FirefoxWindows10Window
FluxboxWindow
GajimWin7Window
GajimWin10Window
LocalWindow
StartMenuWindowWin10_1511
StartMenuWindowWin10
StartMenuWindowWin11
Thunderbird45Windows10Window
Windows7Office2010Window
Windows10Office2013Window
WindowStub
Xubuntu14Window
ATSPIWindow
ATSPIWindow.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()
Ubuntu20Window
Font
UnusedException
clean_up()
get_font()
load_dat_from_files()
- 4. Objects that control applications
ApplicationImpl
ApplicationImpl.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
Platform
WindowsSafeModeImpl
test()
WindowsPlatform
WindowsPlatform.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()
CentOS7Platform
AndroidPlatform
- 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
ElggCentOS7XFCEChrome64
ElggWin7Chrome63
test()
Elgg3Win10Chrome63
test()
ElggXubuntu14Chrome64
Elgg3FluxboxFirefox107
test()
ElggWin10Chrome63
test()
Elgg3Win10Chrome99
test()
Elgg3Win10Chrome107
test()
FriendicaCentOS7XFCEChrome64
FriendicaWin7Chrome63
test()
FriendicaWin10Chrome63
test()
FriendicaXubuntu14Chrome64
WordPressFirefox34Fluxbox
WordPressFirefox51Win7
WordPressFirefox51Win10
- 4.4. Web Browsing
- 4.4.1. Abstract Web Browsing Objects
AndroidBrowser
ChromeGeneric
FedoraFirefox
FirefoxGeneric
IEGenericImpl
IE8GenericImpl
IE9GenericImpl
IE11GenericImpl
WebBrowser
WebBrowserImpl
WebBrowserImpl.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
Android6Browser
Chrome55NexusS7_1
Chrome63Win7
test()
Chrome63Win10
test()
Chrome64CentOS7XFCE
Chrome64Xubuntu14
Chrome99Win10
test()
Chrome107Win10
test()
Chrome96Win11
test()
IE8Windows2008Impl
IE9Windows7Impl
IE11Windows7Impl
FirefoxFedoraCore11
FirefoxFedoraCore15
Firefox24Win7
Firefox31FluxboxCentos
Firefox34Fluxbox
Firefox81Ubuntu20
Firefox51Win7
test()
Firefox51Win10
test()
Firefox56Win7
Firefox67Fluxbox
Firefox75Fluxbox
Firefox98Win10
- 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
EmailClient
EmailClient.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()
EmailClientImpl
EmailClientImpl.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()
K9Email
Notes8_5
Outlook
Outlook2007
Outlook2010
OWA
RainLoop
Thunderbird
YahooMail
- 4.7.2. Concreate Email Clients
K9Android6
Outlook2003XP
Outlook2007XP
Outlook2007Win7
Outlook2007Win7AGM
Outlook2007Win7USAF
Outlook2010Win7
Outlook2016Win10
test()
OWAIE11Win7
Notes8_5XP
RainLoopCentOS7XFCEChrome64
RainLoopWin7Chrome63
RainLoopWin10Chrome63
RainLoopXubuntu14Chrome64
Thunderbird3FC15
Thunderbird31Fluxbox
Thunderbird102Fluxbox
test()
Thunderbird38CentOS7XFCE
Thunderbird45Win7
test()
Thunderbird45Win10
test()
Thunderbird52Xubuntu14
Thunderbird68Fluxbox
test()
Thunderbird91Win10
test()
Thunderbird102Win10
test()
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
Firewall
get_firewall()
SysInternals
SysInternalsImpl
get_sys_internals()
SysInternalsXP
SysInternalsWin7
- 5. “Brains” to control the fingers and eyes
Brain
get_brain()
- 5.1. Markov Chains Brain
MarkovBrain
- 5.2. Markov Brain Supports
- 5.2.1. ModuleBrain
ModuleBrain
ModuleBrain.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
ChooserBase
test()
- 5.2.3. CDFChooser
CDFChooser
test()
- 5.2.4. MarkovChooser
MarkovChooser
MarkovChooser.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
CUObject
Logger
Logger.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()
SystemImplTest
getTestUser()
get_test_user()
parse_args()
run_unittest()
UnknownTypeException
generic_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