Pesquisar este blog

segunda-feira, 29 de maio de 2017

Enviando comandos para qualquer aplicativo através do Ruby.


Muitas das vezes estamos trabalhando com automação de testes e precisamos enviar um determinado comando para um aplicativo e não funciona corretamente, temos uma segunda opção pelo Wscript.Shell que é um objeto que permite acesso direto ao shell do Windows, através do método SendKeys podemos enviar comandos do Windows.


# Require the win32ole library:
require 'win32ole'

'
To maximixe the active window "% x" (Alt+SpaceBar, x)
To minimize the active window "% n" (Alt+SpaceBar, n)
To restore the active window "% r" (Alt+SpaceBar, r)
To close window "%{F4}"
# ALT+A --> wsh.SendKeys("%a")

# ENTER --> wsh.SendKeys("{ENTER}")
Temos uma lista de comandos no site da microsoft abaixo:
 https://msdn.microsoft.com/en-us/library/8c6yea83.aspx
'

# Cria a instancia do Wscript Shell, para poder usar os metodos.
wsh = WIN32OLE.new('Wscript.Shell')

# Passar o Nome da Janela atual
if wsh.AppActivate('*new 3 - Notepad++')
  # Tempo de espera em segundos
  sleep(1)
  # comando SendKeys para enviar o comando
  wsh.SendKeys("% x")
end



----------------------------------------------------------
KeySpecial Character
  SHIFT+
  CTRL^
  ALT%
----------------------------------------------------------

11 comentários: