24/5/11

Envío de teclas a aplicaciones (para pruebas automáticas)

Uno de los problemas se produce cuando se muestra un MessageBox. No hay manera de cerrarlo así que: a enviar teclas.

// Código para enviar las pulsaciones de teclas
Microsoft.VisualBasic.Interaction.AppActivate(f.Text);//Activa la aplicación. f es el formulario creado anteriormente para pruebas
f.Focus();// Hace falta también esto por lo visto.
Util.EnviarTeclas(5000, "{TAB}");//Cuadro de diálogo. Pasar a "no"
Util.EnviarTeclas(6000, "{ENTER}");//Cuadro de diálogo. ENTER.

// Código en Utils
    public static void EnviarTeclas(int TiempoEspera, string teclas) {
      Thread t = new Thread(new ParameterizedThreadStart(AEjecutarPorEnvioTeclas));
      EnvioTeclas et = new EnvioTeclas(TiempoEspera,teclas);
      t.Start(et);

    }
    public static void AEjecutarPorEnvioTeclas(Object EnvTecl) {
      EnvioTeclas aux = EnvTecl as EnvioTeclas;
      Thread.Sleep(aux.espera);
      SendKeys.SendWait(aux.teclas);
    }
  public class EnvioTeclas {
    public int espera;
    public string teclas;
    public EnvioTeclas(int espera, string teclas) {
      this.espera = espera;
      this.teclas = teclas;
    }
  }

16/5/11

Crear filas de prueba

A destacar el tema de que hay que crear una tabla para incluir la fila en ella.

private static DS.AGPROVRow _ProvRow;
public static DS.AGPROVRow ProvRow {
get {
if (_ProvRow == null) {
DS.AGPROVDataTable aux = new DS.AGPROVDataTable();
_ProvRow = aux.NewAGPROVRow();
_ProvRow.ID = 99;
_ProvRow.NOMB = "Prueba Grabar 1";
}
return _ProvRow;
}
}