2008-10-09 22 views
1

오늘 쿠키 값이 올바르게 저장되었는지 확인하기 위해 간단한 WatiN 테스트를 추가했습니다.CruiseControl에서만 실패한 IE.GetCookie를 사용한 WatiN 테스트

테스트는 팀의 모든 컴퓨터에서 로컬로 수행됩니다.

Object reference not set to an instance of an object.

: 오래된 밤나무 CruiseControl을 우리의 빌드 서버에서 테스트를 실행 그러나, 이러한 새로운 테스트는 CruiseControl을 로그에 주어진

browser.GetCookie(url, cookieName)

오류를 포함하는 줄에 실패하다 CruiseControl이 실행되는 것과 동일한 사용자 계정을 사용하여 원격 데스크톱으로 Build 서버에 로그온하고 수동으로 MbUnit을 실행하면 테스트가 통과됩니다. 따라서 쿠키에 액세스 할 수있는 빌드 서버의 사용 권한에는 문제가 없습니다.

모든 WatiN 설명서를 검토했지만 도움이 필요하지 않습니다. CruiseControl 서비스를 다시 시작했습니다. 나는 내가 생각할 수있는 모든 것을 시도해 보았습니다. 이제 Cruise Control이 이러한 테스트를 실행하는 방식이 어떻게 달라질 수 있는지에 관해서는 완전히 망가졌습니다.

누가이 문제를 일으킬 수 있는지, 어떻게 해결할 수 있는지 알고 있습니까?

답변

2

CruiseControl을 서비스 대신 응용 프로그램으로 실행 해보십시오. WatiN은 서비스에서 실행될 때 멈추는 경향이 있습니다 (Windows 서비스는 UI 세션에 연결되어 있지 않으므로 WatiN은 IE의 대화 상자를 처리하는 데 필요합니다).

그러나 그 외에도 ... IE 쿠키가 사용자 프로필에 저장된다는 것을 상기하십시오. 서비스가 실행될 때 프로파일은로드되지 않습니다.이 프로파일은 백그라운드에서 조용히 실행되며 로그온 세션의 컨텍스트에서 실제로 실행되지 않는 데몬 프로세스입니다. 나는 이것이 귀하의 예외의 원인이라고 생각합니다.