Skip to content

v1.1.6

Choose a tag to compare

@github-actions github-actions released this 30 Oct 10:11
· 25 commits to main since this release

Winwright and Winwright.InApp 1.1.6 on nuget.org. Nothing is removed or renamed, so a suite written for 1.1.5 runs unchanged.

Scenario format

  • Commands before the launch (WW582). A fixture's before list runs programs once its files are staged and before its application starts, with the fixture's variables, working directory and standard input. Use it when a case is about one program's output reaching the window, such as a CLI writing a file the window reads. A command that exits with an unexpected code, or does not finish within timeouts.launch, leaves every check of the case a hole that names the command, its exit code and the last lines it wrote.
  • Installed copies and self-updates (WW575). A fixture's application launches an executable other than the project's, such as an installed copy. A step can wait on the application's process: exits claims the exit an update makes, and relaunches follows the new copy into its window.
  • Unsetting inherited variables (WW564). A fixture's unset names inherited variables the launch removes, so an Electron app started from VS Code opens as a window and not as Node.
  • Longer waits on one step (WW577). A step names its own wait with waits, a timeout the project declares, in place of resolve and act for that step alone. An undeclared name is refused before the launch.
  • Resizing the window (WW570). resize with with: "640x720" sizes the window under test in device-independent pixels, without needing the foreground.
  • Drag between two points of one element (WW572). A drag names from and to inside its own element, in percent or device-independent pixels, so a handle drawn on a canvas can be moved.
  • Image checks on files (WW573). A file step claims image, such as longSide 2048, transparent, and a failure names the size and transparency it read.

Captures

  • No more washed-out renders (WW583). An in-app render is no longer taken while an animation is still changing an element's opacity, such as a page fading in. The harness asks again until the fade stops, within the render's time budget. A fade that never stops is refused with a sentence saying so, and an element that finished fading and stays dimmed is still drawn. This needs Winwright.InApp 1.1.6 in the application.

Refusals and read-outs

  • Locators hidden in an overflow (WW571). When a locator matches nothing, the refusal now says why, and names a toolbar holding items in its overflow along with the button that opens it.
  • Read-out language (WW569). Without speaking, a read-out's {language} is the language of the strings file that answers for the machine, then language.fallback. A failed read-out names its arguments and output.

MCP server

  • Red cases say where they failed (WW562). winwright_run lists, under each red case, every unmet check with its step, locator, what it read and how long it waited. A red run still writes lastRun.
  • The server stays up (WW567). A tool that throws answers with a refusal naming the exception, and the server keeps running. An executable that cannot start is refused naming the path it was looked for at.
  • A clean protocol stream (WW563, WW568). Launched applications and read-outs have their input closed and their output drained, so nothing reaches the MCP channel. A red case ends with the last lines the application wrote.

Guest runner (this repository's run-tests-vm)

  • Runs that open no window can say -NoDesk and are no longer refused over the guest desk (WW581).
  • A taskbar holding the guest's foreground is cleared by one shell restart under the run's desk claim (WW580). The Start and Search overlays are dismissed before the run (WW579).
  • -Run executes as a prompt line, so a chain of commands logs in full and keeps its exit code (WW576). -Bring a,b brings back each file (WW578). -Carry takes build outputs, such as an installer, to the guest at their own path (WW574).

Full Changelog: v1.1.5...v1.1.6