es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo usar Robot Framework para activar la terminal de macOS, escribir un comando, agregar una pausa y luego ejecutarlo?

Estoy usando RobotFramework como RPA y utiliza osascript.

Lo que quiero

Quiero ejecutar un env en la Terminal y esperar 3 segundos antes de mostrar los resultados.

Lo que funciona


Run osascript -e 'tell app "Terminal" to activate'
Sleep 1s
Run osascript -e 'tell app "Terminal" to do script "env" in window 1'
Sleep 5s
Run osascript -e 'quit app "Terminal"'

Esto funciona, pero la ejecución de env es inmediata cada vez, sin importar dónde coloque delay 3.

Lo que intenté


Run osascript -e 'tell app "Terminal" to do script "env" in window 1'
Run osascript -e 'delay 3'


Run osascript -e 'tell app "Terminal" to do script "env" in window 1 delay 3'


Run osascript -e 'tell app "Terminal" to do script "env" & delay 3 in window 1'


Run osascript -e 'tell app "Terminal" to do script "env" in window 1 & delay 3'

Ninguno de estos funciona.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Applescript y RobotFramework, si deseas ejecutar env en el Terminal y esperar 3 segundos antes de que muestre los resultados, puedes usar el siguiente fragmento de código:

    Run osascript -e 'tell app "Terminal" to do script "sleep 3 && env" in window 1'
    

    Este código esperará 3 segundos antes de ejecutar el comando env en el Terminal. El operador && se utiliza para combinar dos comandos, donde el segundo comando se ejecutará solo si el primer comando finaliza sin ningún error. En este caso, el comando sleep 3 finalizará después de 3 segundos y luego se ejecutará el comando env y se mostrarán los resultados.

    También puedes modificar el tiempo de espera según tus necesidades.

Comments are closed.