maestro
maestro copied to clipboard
Windows support?
I can only see getting started steps for mac and Linux.
Does maestro currently support windows? If not do you have a timeline for when we could expect to have windows support?
Maestro does, in theory, support Windows as it purely a JVM application. However, we do not have means to test it at this very moment so any input would be much appreciated!
Hello, I'm on Windows and I can use maestro.
- Just download the latest release : https://github.com/mobile-dev-inc/maestro/releases
- Unzip it;
- with PowerShell :
- cd to this directory
maestro test you_flow.yaml
Bonus steps to add maestro command alias in PowerShell
The maestro command will be available to each PowerShell session.
Test-Path $Profile- if False, create profile file :
New-Item -Path $Profile -ItemType file -Force
- if False, create profile file :
- Add in this file the alias so that it is persistent
New-Alias maestro C:/full-path/maestro-1.4.0/bin/maestro.bat
If you have a java version error
- download a recent java version (Java 18 for example) : https://www.oracle.com/java/technologies/javase/jdk18-archive-downloads.html (Windows x64 Compressed Archive - so it's system independent)
- unzip it where you want
- with PowerShell (or in your previous profile file to make it persistent)
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "D:\mypath\jdk-18.0.2.1")
[System.Environment]::SetEnvironmentVariable("Path", "$($env:JAVA_HOME)\bin;" + [System.Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine))
Enjoy !
To the Maestro team : Thank you for this promising tool !
Thank you @Colorofbest! I have included a part of your guide into our docs 👍
The docs on the website do not cover the alias part and as such, do not work.
Without setting the alias up on the machine, you need to do the following command:
.\maestro.bat test ...
I think the docs should be updated to reflect this.
@Colorofbest Hey, I have this error on Windows The input line is too long. The syntax of the command is incorrect. when I run .\maestro.bat --version.
Don't you have this error now?
The input line is too long. The syntax of the command is incorrect.Hello, yes I confirm I have the same error today (The input line is too long. The syntax of the command is incorrect. )
Windows cmd allow only 8191 characters :-/ (https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation)
To fix this, just open the bin/maestro.bat and replace all the CLASSPATH=[a lot of jar]
With
set CLASSPATH=%APP_HOME%\lib\*
To include all jar without specifying one by one.
Looks better.
I got the following error @Colorofbest D:\CODE\download-video\maestro>maestro test take.yaml Running on emulator-5554
java.io.IOException: The process cannot access the file because another process has locked a portion of the file at java.base/java.io.FileInputStream.readBytes(Native Method) at java.base/java.io.FileInputStream.read(FileInputStream.java:276) at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270) at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313) at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188) at java.base/java.io.InputStreamReader.read(InputStreamReader.java:176) at java.base/java.io.BufferedReader.fill(BufferedReader.java:162) at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329) at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396) at kotlin.io.LinesSequence$iterator$1.hasNext(ReadWrite.kt:79) at kotlin.io.TextStreamsKt.forEachLine(ReadWrite.kt:154) at kotlin.io.FilesKt__FileReadWriteKt.forEachLine(FileReadWrite.kt:190) at kotlin.io.FilesKt__FileReadWriteKt.readLines(FileReadWrite.kt:219) at kotlin.io.FilesKt__FileReadWriteKt.readLines$default(FileReadWrite.kt:217) at maestro.cli.db.KeyValueStore.getCurrentDB(KeyValueStore.kt:46) at maestro.cli.db.KeyValueStore.keys(KeyValueStore.kt:28) at maestro.cli.session.SessionStore.activeSessions(SessionStore.kt:55) at maestro.cli.session.SessionStore.hasActiveSessions(SessionStore.kt:68) at maestro.cli.session.MaestroSessionManager$newSession$session$1.invoke(MaestroSessionManager.kt:84) at maestro.cli.session.MaestroSessionManager$newSession$session$1.invoke(MaestroSessionManager.kt:81) at maestro.cli.db.KeyValueStore.withExclusiveLock(KeyValueStore.kt:37) at maestro.cli.session.SessionStore.withExclusiveLock(SessionStore.kt:74) at maestro.cli.session.MaestroSessionManager.newSession(MaestroSessionManager.kt:81) at maestro.cli.session.MaestroSessionManager.newSession$default(MaestroSessionManager.kt:58) at maestro.cli.command.TestCommand.call(TestCommand.kt:136) at maestro.cli.command.TestCommand.call(TestCommand.kt:46) at picocli.CommandLine.executeUserObject(CommandLine.java:1933) at picocli.CommandLine.access$1200(CommandLine.java:145) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332) at picocli.CommandLine$RunLast.handle(CommandLine.java:2326) at picocli.CommandLine$RunLast.handle(CommandLine.java:2291) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159) at maestro.cli.DisableAnsiMixin$Companion.executionStrategy(DisableAnsiMixin.kt:22) at picocli.CommandLine.execute(CommandLine.java:2058) at maestro.cli.AppKt.main(App.kt:117)
This issue has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar problem, please file a new issue. Make sure to follow the template and provide all the information necessary to reproduce the issue. Thank you for helping keep us our issue tracker clean!