Namespace GenerallyPositive
Classes
ActivatorHelper
Our generic handler to create any type using one method. Also this allows us to keep GPAL classes internal so users cannot instantiate them except via the GPAL factory new GPALFile() is not allowed, use GPALFile gpalFile = GPAL.File.ToGPALObject();
ClientRectangle
ConverterSettings
CsvValue
DataTableExtensions
DataTable extension method set the order of the columns in a datatable based upon the order of strings in an array
Enums
Class that holds all the GPAL enum definitions
GPAL
Everything starts here, all the GPAL controls and global settings using fluent syntax are here. GPAL cannot inherit any of the GPAL interfaces since it is a static class, but it does implement them, but will return some GPAL object or interface.
GPAL.GPALEventArgs
Used to pass objects of interest when publishing an Information or Exception Channel message
NOTE: Properties are contextual to where the Information/Exception is published.
Only objects relevant to that context will be passed as an event argument, the rest will be null.
In this way, the programmer can examine aspects when the message is published and utilize those for logging or debugging or fault-tolerance handling.
Every event will have a GPALObject as applicable to the context publishing the message.
GPALAttribute
GPALConverter
GPALDatabase
Class to define database usage. Currently only used for input from a table, sql or stored procedure.
Instantiated with GPAL.Database
GPALElement
Psuedo element used in Applications and Browser workflows for image matching which does not have an underlying element to automate.
No methods are implemented. Use this only for debugging. Only the following properties are actually used:
Location, Size, Text, TagName, WrappedDriver (web driver);
GPALLogger
GPALMail
GPALSettings
ImageHelper
Launcher
MatchHRef
MatchPlaceholder
MatchSrc
MatchText
MatchValue
ObjectFactory
Custom objet factory for our classes which do not have public constructors
ReceivedEmail
RESTClient
Fluent REST client for making API calls with a chained interface. Supports defining workflows, executing them in loops, and accessing results. Results are accessed via a non-generic indexer, requiring casting to the desired type.
Selector
GPAL Selector used to locate Application and Browser elements.
Instantiated with GPAL.Selector
SelectorSet
SelectorSet.ClientRectangle
SelectorSettings
Settings for the current selector. Use this only for debugging.
SelectorSettings.SelectorPathEntry
An entry defining a selector locator, a selector path
stringExtension
UnitOfWork
Everything revolves around the Unit of Work.
A Unit of Work is defined as one or more selectors between actions (GoTo, Run, LeftClick, Hover, etc.)
Use this only for debugging.
WithCSS
WithDeltaX
WithDeltaY
WithImage
WithOffsetX
WithOffsetY
WithSelectorName
WithText
WithValue
WithXPath
XPathInfo
Interfaces
IAllowCallBack
IAllowCheckNetworkIdleOrExecution
IAllowColumnLength
IAllowColumnPrecision
IAllowColumnScale
IAllowConverterActions
IAllowConverterInput
IAllowConverterInputAndActions
IAllowConverterSettings
IAllowConverterSettingsAndActions
IAllowCredentialSettings
IAllowDatabaseActions
IAllowDatabaseExecute
IAllowDatabaseInto
IAllowDatabaseSettings
IAllowDatabaseUsing
IAllowEmailActions
IAllowEmailEnvelope
IAllowEmailEnvelopeAndActions
IAllowEmailServerSettings
IAllowEmailServerSettingsAndName
IAllowExcelActions
IAllowExcelFilename
IAllowExcelRangeEnd
IAllowExcelSettings
IAllowExcelWorkbook
IAllowExecutableSetup
IAllowFileActions
IAllowFileName
IAllowFileSettings
IAllowGPALSettings
IAllowGridActions<T>
IAllowImageSettings
IAllowLogging
IAllowLoggingAndSetting
IAllowLoggingSettings
IAllowName
IAllowNameEnvelopeAndActions
IAllowParameters
IAllowParametersAndActions
IAllowParametersAndInto
IAllowParametersAndUsing
IAllowPrecsionScaleAndSettings
IAllowRESTEndpoint
IAllowRESTEndpointDetails
IAllowRESTExecution
IAllowRESTMethod
IAllowRESTParameters
IAllowRESTParametersOrExecution
IAllowRESTScript
IAllowRESTWorkflow
IAllowRESTWorkflowDefinition
Defines the ability to add a workflow to a REST client.
IAllowRunningExecutable
IAllowSelectorSettings
IAllowToGPALObject<TResult>
IAllowWaitingExecutable
IGPALConverter
IGPALDatabase
IGPALElement
IGPALFile
IGPALGrid<T>
IGPALGridNonGeneric
IGPALLogger
IGPALMail
IRESTClient
Enums
Enums.ApiEndpoint
Enums.BrowserType
Browser type to run: Chrome, Edge, Firefox, Safari [not implemented]
Enums.ClickType
Click type NOTE: LeftClick is the same action as SelectClicType.LeftClick
Enums.CredentialServiceType
Enums.DatabaseType
What type of database is being accessed?
Enums.DataFormat
Enums.DeepCopy
Enums.DevToolsMethods
Enums.DirectoryStructure
Enums.FilenamePattern
Enums.FormControlType
Type of form control in WindowsControl
Enums.GPALEventType
Enums.GPALObjectType
GPALObject type passed in Information and Exception channel messages.
Enums.InteractionType
The interaction method for this Automation/GPALElement: Selenium, JavaScript, Hardware, UIAutomation, Puppeteer
Enums.LogDateFormat
Enums.LogType
Enums.ModifierKeys
Modifier keys: Alt, Control, Shift, None
Enums.OCRScanDirection
Enums.PageFormat
Enums.PageOrientation
Enums.RowPosition
For Grid.DeleteRow, delete the first or last row. We do have DeleteRow(rowIdx), too
Enums.RunMode
The run mode for workflows defined using .WithWorkFlow
Enums.SelectClickType
Special types for Select menus: RandomSelect will pick a random menu item, SequentialSelect will walk the list (w/ and w/o wrapping) note: LeftClick is the same action as ClicType.LeftClick
Enums.SelectorPathType
Type of this selector path entry
Enums.StealthType
Delegates
GPALDatabase.CallOnError
Selector.appMatchingFunction
Custom matching function, must return all matched elements and an indicator as to whether all elements matched (for the purpose of the custom match)
More than one custom matching method can be define, they will be chained based upon the return value.
Selector.webMatchingFunction
Custom matching function, must return all matched elements and an indicator as to whether all elements matched (for the purpose of the custom match)
More than one custom matching method can be define, they will be chained based upon the return value.