provision.installer() tests in a Linux sandbox:
- One installs a command-line tool from a
.deband runs it. - One installs a desktop app from a
.deband checks that its window opens. - One downloads a shell script without running it and checks that it exists.
Watch it run
The test
installer.test.mjs
How it works
provision.installer({ url })downloads the file, installs it by extension, and returns its path.- On Linux, a
.debis installed withdpkg, and missing dependencies are installed withapt-get. The step fails if the package still isn’t fully installed. - With
launch: true(the default), a.debapp is started from its.desktopentry, thenappNameis focused. That’s how the Yaak window opens. - A
.shscript is made executable and run. launch: falsemakes a.shscript executable without running it. It also skips focusing the app when you passappName.- With
launch: false, packages such as.debfiles are still installed. exec('sh', command, timeout)runs a shell command and returns its output. The test uses it to check thatbatis installed.it.skipIf(!isLinux)skips every test whenTD_OSis set towindows.
Run it
The test is in the TestDriver SDK repository. Clone it, install dependencies, and run the file:TD_API_KEY. Create a key at console.testdriver.ai/team/api-keys. Then set it in your environment or a .env file.

