2012-12-31 4 views
0

WatiN을 사용하여 SSRS 보고서를 엽니 다. 처음에 보고서를 열면 "보고서가 생성 중입니다."라는 메시지가 표시됩니다.
보고서가 생성 될 때까지 기다리고 싶습니다.SSRS 보고서로드가 완료 될 때까지 기다리십시오.

WaitForComplete를 사용했지만 절대 반환하지 않습니다.

  1. 보고서가 생성되면 프로그램을 계속 진행해야합니다.
  2. 그 밖의 경우에는 보고서가 생성하지 못한 오류를 표시하십시오.

편집 없음 1

//create IE window 
WatiN.Core.IE window = new WatiN.Core.IE(); 
window.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.ShowMaximized); 

//go to the URL 
window.GoTo("http://10.205.10.173"); 

//fill details for login 
window.TextField(Find.ByName("User")).TypeText("bcadmin"); 
window.TextField(Find.ByName("Password")).TypeText("Test123!"); 
window.SelectList(Find.ByName("Application")).SelectByValue("appBCCIFrys"); 
window.Button(Find.ByName("dbbSystemLogin")).Click(); 

//go to Activity Re-cap Report 
window.Span(Find.ByText("Reports")).Click(); 
window.Span(Find.ByText("Activity Re-cap Report")).Click(); 

//fill details for it 
window.SelectList(Find.ByName("DbbDataCtrl_PnlARecapReportingdeARecapReportingRecordType_")).SelectByValue("00"); 
window.SelectList(Find.ByName("DbbDataCtrl_PnlARecapReportingdeARecapReportingSection_")).SelectByValue("00"); 

//press next 
window.Image(Find.ByAlt("Next")).Click(); 

//change checkbox to option 2 
window.RadioButton(Find.ByValue("1")).Checked = true; 

//fill date 
window.TextField(Find.ByName("DbbDataCtrl_PnlARecapReporting8NextdeARecapReportingIndividualDate_")).TypeText("12/12/2012"); 

//press create report 
window.Image(Find.ByAlt("Create Report")).Click(); 

//Thread.Sleep(60000); 

//connect to the new page opened 
IE report = IE.AttachToNoWait<IE>(Find.ByTitle("New Activity Recap"), 200); 

**//HERE I WANT TO WAIT TILL THE REPORT IS LOADED AND FETCH VALUES 
//IF IT DOES NOT LOAD (or throws any error) WITHIN 2 MINS, MOVE FOWWARD** 

//logout 
window.Span(Find.ByText("Logout")).Click(); 
window.Close(); 
report.Close(); 
+0

SSRS 보고서를 확인하는 현재 논리를 게시 할 수 있습니까? –

+0

확실! 내 수정 된 질문보기 –

답변

0

여호와를 찬양하라! 이 사람은 알아낼 수일이 걸렸어!

"보고서 생성 ..."이 나타날 때까지 "내부 HTML"에 액세스하려고했습니다. 그러나 Watin에 대한 제한된 지식으로는이 작업을 수행 할 수 없었습니다. 그러나 솔루션으로 이동할 수 있습니다!

"보고서 생성 중 ..."이 화면에서 제거되었을 때 마침내 나를 쏠 수 있습니다. 그러나, 그것은 html에서 결코 제거되지 않기 때문에 나는이 좋은 작은 수표로 대신 갔다.

while (reportViewer.Span("athenaReportViewer_ReportsViewer_ctl03").Style.Display.ToString() != "none") 
{ 
    Console.WriteLine("This enabled..."); 
} 
Console.WriteLine("DISABLED!!!"); 

그래서 우리는 대신 "표시"스타일 속성의 값을 "없음"으로 확인합니다. XD

관련 문제