로컬로 (내 PC에서) 완벽하게 작동하며 TC에서 완벽하게 작동하는 테스트 (파일 업로드)가 있습니다. 하지만! MSTSC (내 서버 - Windows 서버 2012의 원격 데스크톱)를 실행하고 실제로 테스트 실행을 보았을 때 TC에서만 잘 작동합니다.Teamcity에서만 테스트가 실패합니다
TeamCity 빌드 에이전트의 일부로 트리거가 실행 중이고 원격 데스크톱에 있지 않을 때 테스트를 실행하면 실패합니다. 그건 그렇고, 백그라운드에서 TeamCity 빌드 에이전트에 대한 테스트를 실행하려고 시도했지만 그 방법도 실패합니다. 나는 팝업 창을 열기 대화 상자를 실행하기 위해 요소를 클릭하고있어 다음 사용 :
public static void OpenFileNew(string FileNameToAttach)
{
Process pp = Process.GetCurrentProcess();
if (pp != null)
{
IntPtr h = pp.MainWindowHandle;
SetForegroundWindow(h);
}
SendKeys.SendWait("\\\\nas01\\qa\\TestFiles\\" + FileNameToAttach);
Thread.Sleep(3000);
SendKeys.SendWait("{ENTER}");
Thread.Sleep(3000);
}
다음 단계 내가 td
TAGNAME 특정 텍스트가 있는지 여부를 확인하고 있습니다 것입니다. 파일을 업로드 한 후 td
에는 방금 업로드 한 전체 파일 이름이 포함되어야합니다.
public bool CheckFileNameToUploadExists(string FullFileName)
{
bool IsFileExist = false;
WebDriverWait wait = new WebDriverWait(_webdriver, new TimeSpan(0, 0, 30));
var TDs = wait.Until(x => x.FindElements(By.TagName("td")));
for (int i = 0; i < TDs.Count - 1; i++)
{
var td = TDs[i].Text.ToString();
Thread.Sleep(2000);
_test.Log(LogStatus.Pass, td);
if(td == FullFileName)
IsFileExist = true;
}
return IsFileExist;
}
존재하지 않으면 어설 션이 호출되고 있습니다. 그게 실패작이야.
'오류 메시지'란 무엇입니까? – Smartis
원격 데스크톱 세션이 연결되어 있지 않은 상태에서 실행할 때 불가능할 수있는 '대화식 모드'에서 실제 Windows가 팝업되는 요구 사항과 관련 될 수 있습니다. 당신의 코드는 키가 눌려 질 수 있고 윈도가 움직일 수있는 대화 형 환경을 가정하는 것으로 보인다. 활성 RDP 세션이없는 경우에는 그렇지 않습니다. – Baldrick
방금 내 게시물을 편집했습니다. 그것이 무엇이든 의미한다면. –