Skip to content

Hex1bTerminalInputSequenceBuilder

Namespace: Hex1b.Automation

Assembly: Hex1b.dll

Fluent builder for creating test sequences to simulate user interaction.

csharp
public sealed class Hex1bTerminalInputSequenceBuilder

Inheritance

ObjectHex1bTerminalInputSequenceBuilder

Methods

Alt()

Adds Alt modifier to the next key or mouse action.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Alt()

Backspace()

Sends Backspace key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Backspace()

Build()

Builds the test sequence.

Returns: Hex1bTerminalInputSequence

csharp
public Hex1bTerminalInputSequence Build()

Click(MouseButton)

Performs a click (down + up) at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Click(MouseButton button = MouseButton.Left)

ClickAt(int, int, MouseButton)

Performs a click at the specified position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder ClickAt(int x, int y, MouseButton button = MouseButton.Left)

Ctrl()

Adds Ctrl modifier to the next key or mouse action.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Ctrl()

Delete()

Sends Delete key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Delete()

DoubleClick(MouseButton)

Performs a double-click at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder DoubleClick(MouseButton button = MouseButton.Left)

DoubleClickAt(int, int, MouseButton)

Performs a double-click at the specified position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder DoubleClickAt(int x, int y, MouseButton button = MouseButton.Left)

Down()

Sends Down arrow key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Down()

Drag(int, int, int, int, MouseButton)

Performs a drag from one position to another.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Drag(int fromX, int fromY, int toX, int toY, MouseButton button = MouseButton.Left)

End()

Sends End key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder End()

Enter()

Sends Enter key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Enter()

Escape()

Sends Escape key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Escape()

FastType(string)

Types text quickly (no delay between keystrokes).

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder FastType(string text)

Home()

Sends Home key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Home()

Key(Hex1bKey, Hex1bModifiers)

Sends a key press event with the specified modifiers.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Key(Hex1bKey key, Hex1bModifiers modifiers)

Key(Hex1bKey)

Sends a key press event.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Key(Hex1bKey key)

Left()

Sends Left arrow key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Left()

MouseDown(MouseButton)

Presses a mouse button down at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder MouseDown(MouseButton button = MouseButton.Left)

MouseMove(int, int)

Moves the mouse by a relative delta.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder MouseMove(int deltaX, int deltaY)

MouseMoveTo(int, int)

Moves the mouse to an absolute position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder MouseMoveTo(int x, int y)

MouseUp(MouseButton)

Releases a mouse button at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder MouseUp(MouseButton button = MouseButton.Left)

PageDown()

Sends Page Down key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder PageDown()

PageUp()

Sends Page Up key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder PageUp()

Sends Right arrow key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Right()

ScrollDown(int)

Scrolls down at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder ScrollDown(int ticks = 1)

ScrollUp(int)

Scrolls up at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder ScrollUp(int ticks = 1)

Shift()

Adds Shift modifier to the next key or mouse action.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Shift()

SlowType(string, TimeSpan)

Types text slowly with a custom delay between keystrokes.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder SlowType(string text, TimeSpan delay)

SlowType(string)

Types text slowly with the default delay between keystrokes.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder SlowType(string text)

Space()

Sends Space key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Space()

Tab()

Sends Tab key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Tab()

TripleClick(MouseButton)

Performs a triple-click at the current position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder TripleClick(MouseButton button = MouseButton.Left)

TripleClickAt(int, int, MouseButton)

Performs a triple-click at the specified position.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder TripleClickAt(int x, int y, MouseButton button = MouseButton.Left)

Type(string)

Types text quickly (no delay between keystrokes).

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Type(string text)

Up()

Sends Up arrow key.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Up()

Wait(int)

Pauses for the specified number of milliseconds.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Wait(int milliseconds)

Wait(TimeSpan)

Pauses for the specified duration.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder Wait(TimeSpan duration)

WaitUntil(Func<Hex1bTerminalSnapshot, bool>, TimeSpan, string?, string?, string?, int)

Waits until a condition is met on the terminal.

Parameters:

  • predicate (Func<Hex1bTerminalSnapshot, Boolean>): The condition to wait for. Receives a snapshot of the terminal state.
  • timeout (TimeSpan): Maximum time to wait before throwing TimeoutException.
  • description (String): Optional description for error messages. If not provided, the predicate expression is used.
  • predicateExpression (String): Auto-captured predicate source text. Do not pass explicitly.
  • callerFilePath (String): Auto-captured caller file path. Do not pass explicitly.
  • callerLineNumber (Int32): Auto-captured caller line number. Do not pass explicitly.

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder WaitUntil(Func<Hex1bTerminalSnapshot, bool> predicate, TimeSpan timeout, string? description = null, string? predicateExpression = null, string? callerFilePath = null, int callerLineNumber = 0)

WithOptions(Action<Hex1bTerminalInputSequenceOptions>)

Configures options for this sequence using a configuration action.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder WithOptions(Action<Hex1bTerminalInputSequenceOptions> configure)

WithOptions(Hex1bTerminalInputSequenceOptions)

Configures options for this sequence.

Parameters:

Returns: Hex1bTerminalInputSequenceBuilder

csharp
public Hex1bTerminalInputSequenceBuilder WithOptions(Hex1bTerminalInputSequenceOptions options)

Examples

csharp
var runTask = app.RunAsync();

await new Hex1bTerminalInputSequenceBuilder()
    .WaitUntil(s => s.ContainsText("Enter name:"), TimeSpan.FromSeconds(2))
    .Type("Hello")
    .Enter()
    .Ctrl().Key(Hex1bKey.C)
    .Build()
    .ApplyAsync(terminal);

await runTask;

Released under the MIT License.