2009-01-28 12 views
17

Estoy intentando ejecutar una prueba simple de Watin a través de TeamCity, pero la ventana de Internet Explorer nunca se muestra como generalmente se hace a través de CruiseControl.Ejecutando Watin en TeamCity

Me sale un error que no puede encontrar un campo de texto por lo que algo se está ejecutando. Pero no puedo ver lo que sin la ventana.

¿Hay algún cambio específico en la configuración del servidor de TeamCity que deba hacer?

Respuesta

20

encontrado esto en another forum

Todos los créditos van a Matt Baker

Para futura referencia a cualquiera que intente ejecutar WatiN prueba automáticamente utilizando TeamCity. Debe iniciar su agente de compilación utilizando \bin\agent.bat start y NO como un servicio. WatiN requiere una interfaz de usuario completa para ejecutar correctamente y no tiene este entorno como un servicio. ¡Espero que esto lo haga más fácil para otras personas!

+0

¿Hay alguna posibilidad de que podría elaborar sobre cómo hacer esto? Tengo un servidor TC 4 ejecutándose con varias compilaciones, de las cuales solo una usará WaTiN. ¿Podría darnos un recorrido más profundo sobre cómo hacer esto? –

+7

esto no es cierto, un servicio puede usar la interfaz de usuario completa, verifique esta respuesta: http://stackoverflow.com/questions/488443/running-watin-on-teamcity/3415992#3415992 –

+5

Si la encontró en otra foro, lo enlazas, vamos! –

2
  1. Servicio de agente de parada. comando de ejecución: net stop TCBuildAgent de la consola.
  2. Ejecutar en la consola c: \ TeamCity \ buildagent \ bin \ agent.bat de partida (dependiendo de la ruta de instalación TeamCity )
3

Si ha instalado como un servicio, asegúrese de parar y desactivarlo . A continuación, cree un archivo .bat con la siguiente

C: 
cd teamcity\buildagent\bin\ 
agent.bat start 

Ahora acaba de crear un acceso directo en la carpeta de inicio hasta este archivo por lotes!

20

En la pestaña Cuenta en la ventana de propiedades del servicio Teamcity Agent (services.msc), marca "Permitir que el servicio interactúe con el escritorio", que permitirá que la cuenta de servicio local genere Internet Explorer. Pero seguramente te quedarás atrapado en otras cosas, como el bloqueo de cookies, el ahorro de contraseñas, etc., así que inicia sesión como servicio local y arregla esas cosas.

La manera más fácil de hacerlo es con psexec (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx), llame psexec -i -s cmd.exe así generar un cmd se ejecuta como cuenta local, a continuación, inicie el Explorador de Internet en todo configurado hacia arriba (la configuración de privacidad en el IE de cuenta local es extremadamente alta).

+0

Esto realmente funcionó bien para mí y me permitió ejecuta los comandos de Watin sin recurrir a ejecutar TeamCity desde una línea de comando. – Harv

+0

Nota: para este trabajo, realmente debe prestar atención al comentario de Carl sobre "bloqueo de cookies, ahorro de contraseña, etc.". Una cosa más para agregar a eso es asegurarse de que sus dominios se agreguen a sitios de confianza. – Matt

+0

Otra cosa: tenga cuidado si está utilizando CORS en absoluto ... El sistema local * no * como usted lo usa con IE 9. Lo más probable es que se encuentre con errores de tipo "acceso denegado". Todavía no he encontrado una manera de evitarlo. – Matt

0

Pruebe esta solución simple: Vaya a servicios, edite las propiedades de su servicio, seleccione la pestaña LogOn y marque la casilla con la etiqueta: "Permitir que el servicio interactúe con el escritorio".

Funcionó para mí en bambú.

Saludos, Pedro Moleiro O