Hex1bTerminalInputSequenceBuilder
Namespace: Hex1b.Automation
Assembly: Hex1b.dll
Fluent builder for creating test sequences to simulate user interaction.
public sealed class Hex1bTerminalInputSequenceBuilderInheritance
Object → Hex1bTerminalInputSequenceBuilder
Methods
Alt()
Adds Alt modifier to the next key or mouse action.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Alt()Backspace()
Sends Backspace key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Backspace()Build()
Builds the test sequence.
Returns: Hex1bTerminalInputSequence
public Hex1bTerminalInputSequence Build()Click(MouseButton)
Performs a click (down + up) at the current position.
Parameters:
button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Click(MouseButton button = MouseButton.Left)ClickAt(int, int, MouseButton)
Performs a click at the specified position.
Parameters:
x(Int32):y(Int32):button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder ClickAt(int x, int y, MouseButton button = MouseButton.Left)Ctrl()
Adds Ctrl modifier to the next key or mouse action.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Ctrl()Delete()
Sends Delete key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Delete()DoubleClick(MouseButton)
Performs a double-click at the current position.
Parameters:
button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder DoubleClick(MouseButton button = MouseButton.Left)DoubleClickAt(int, int, MouseButton)
Performs a double-click at the specified position.
Parameters:
x(Int32):y(Int32):button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder DoubleClickAt(int x, int y, MouseButton button = MouseButton.Left)Down()
Sends Down arrow key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Down()Drag(int, int, int, int, MouseButton)
Performs a drag from one position to another.
Parameters:
fromX(Int32):fromY(Int32):toX(Int32):toY(Int32):button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Drag(int fromX, int fromY, int toX, int toY, MouseButton button = MouseButton.Left)End()
Sends End key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder End()Enter()
Sends Enter key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Enter()Escape()
Sends Escape key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Escape()FastType(string)
Types text quickly (no delay between keystrokes).
Parameters:
text(String):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder FastType(string text)Home()
Sends Home key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Home()Key(Hex1bKey, Hex1bModifiers)
Sends a key press event with the specified modifiers.
Parameters:
key(Hex1bKey):modifiers(Hex1bModifiers):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Key(Hex1bKey key, Hex1bModifiers modifiers)Key(Hex1bKey)
Sends a key press event.
Parameters:
key(Hex1bKey):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Key(Hex1bKey key)Left()
Sends Left arrow key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Left()MouseDown(MouseButton)
Presses a mouse button down at the current position.
Parameters:
button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder MouseDown(MouseButton button = MouseButton.Left)MouseMove(int, int)
Moves the mouse by a relative delta.
Parameters:
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder MouseMove(int deltaX, int deltaY)MouseMoveTo(int, int)
Moves the mouse to an absolute position.
Parameters:
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder MouseMoveTo(int x, int y)MouseUp(MouseButton)
Releases a mouse button at the current position.
Parameters:
button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder MouseUp(MouseButton button = MouseButton.Left)PageDown()
Sends Page Down key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder PageDown()PageUp()
Sends Page Up key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder PageUp()Right()
Sends Right arrow key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Right()ScrollDown(int)
Scrolls down at the current position.
Parameters:
ticks(Int32):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder ScrollDown(int ticks = 1)ScrollUp(int)
Scrolls up at the current position.
Parameters:
ticks(Int32):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder ScrollUp(int ticks = 1)Shift()
Adds Shift modifier to the next key or mouse action.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Shift()SlowType(string, TimeSpan)
Types text slowly with a custom delay between keystrokes.
Parameters:
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder SlowType(string text, TimeSpan delay)SlowType(string)
Types text slowly with the default delay between keystrokes.
Parameters:
text(String):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder SlowType(string text)Space()
Sends Space key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Space()Tab()
Sends Tab key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Tab()TripleClick(MouseButton)
Performs a triple-click at the current position.
Parameters:
button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder TripleClick(MouseButton button = MouseButton.Left)TripleClickAt(int, int, MouseButton)
Performs a triple-click at the specified position.
Parameters:
x(Int32):y(Int32):button(MouseButton):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder TripleClickAt(int x, int y, MouseButton button = MouseButton.Left)Type(string)
Types text quickly (no delay between keystrokes).
Parameters:
text(String):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Type(string text)Up()
Sends Up arrow key.
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Up()Wait(int)
Pauses for the specified number of milliseconds.
Parameters:
milliseconds(Int32):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder Wait(int milliseconds)Wait(TimeSpan)
Pauses for the specified duration.
Parameters:
duration(TimeSpan):
Returns: Hex1bTerminalInputSequenceBuilder
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
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:
configure(Action<Hex1bTerminalInputSequenceOptions>):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder WithOptions(Action<Hex1bTerminalInputSequenceOptions> configure)WithOptions(Hex1bTerminalInputSequenceOptions)
Configures options for this sequence.
Parameters:
options(Hex1bTerminalInputSequenceOptions):
Returns: Hex1bTerminalInputSequenceBuilder
public Hex1bTerminalInputSequenceBuilder WithOptions(Hex1bTerminalInputSequenceOptions options)Examples
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;