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 ​

Object → Hex1bTerminalInputSequenceBuilder

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:

  • key (Hex1bKey): The logical key to send.
  • modifiers (Hex1bModifiers): The modifiers to combine with pending fluent modifiers.

Returns: Hex1bTerminalInputSequenceBuilder

This builder.

csharp
public Hex1bTerminalInputSequenceBuilder Key(Hex1bKey key, Hex1bModifiers modifiers)

Key(Hex1bKey) ​

Sends a key press event.

Parameters:

  • key (Hex1bKey): The logical key to send.

Returns: Hex1bTerminalInputSequenceBuilder

This builder.

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.