Forum Discussion

nimishbhuta's avatar
nimishbhuta
Frequent Contributor
6 years ago

TestComplete : Unable to capture complete screenshot in the disconnected remote desktop

Hello, 

 

I am using TestComplete Picture object to take the screenshot, save in the clipboard and then save into the excel file sheet. 

Below is the sample code :- 

Set oPict=Sys.Browser("iexplore").BrowserWindow(arg_BrowserID).Picture
Call oPict.SaveToClipboard()

Call func_PasteScreenshotinExcelSheet(var_ReportFileLocation,3)  ( In this case 3 is the sheet id, meaning it is shored 3rd sheet) 

 

Function func_PasteScreenshotinExcelSheet(arg_FileName,arg_SheetID)
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.Open(arg_FileName)
Set objWorkSheet=objWorkbook.Worksheets(arg_SheetID)
objWorkSheet.Activate
objWorkSheet.Cells(intTopRange-3,1).value=strBusinessOperation
objWorkSheet.Cells(intTopRange-3,1).font.bold = True
objWorkSheet.Cells(intTopRange-3,2).value="Status: "&strBusinessOperationStatus
If lcase(strBusinessOperationStatus)="pass" Then
objWorkSheet.Cells(intTopRange-3,2).Interior.ColorIndex = 4
Elseif lcase(strBusinessOperationStatus)="fail" Then
objWorkSheet.Cells(intTopRange-3,2).Interior.ColorIndex = 3
End If
'Ws.Range("A"&intTopRange).Select
Delay(500)
objWorkSheet.Paste(objWorkSheet.Range("A"&intHeightStartRange&":"&"A"&intHeightEndRange))
objWorkSheet.Range("A1:IV200").EntireColumn.AutoFit
intHeightStartRange=intHeightEndRange+6
intHeightEndRange= intHeightStartRange+55
intTopRange=intHeightStartRange
objWorkbook.Save
Set objWorkbook=Nothing
objExcel.Quit
Set objExcel=Nothing

 

I am able to capture the whole image of the browser,save into clipboad  and it is pasted in the excel file when I am connected to the remote desktop. 

But if  I disconnect the remote desktop using tscon command by running as admimistrator then it captures the part of the image which is saved in the clipboard and pasted in the excel sheet.   

Below is the tscon command,which is in the batch format and run as administrator for disconnecting remote desktoop :- 

 

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)

 

Can you please let me know how to have the whole image captured during the disonnected remote machine?

 

Regards,

 

Nimish

 

 

 

 

  • Once you have disconnected from the remote desktop, you don't have access to TestComplete any more.  You're getting what the system has left, which is the clipboard.  

     

    What are you trying to accomplish by disconnecting from the remote desktop?  Why not finish saving the picture in TestComplete and then disconnect after that?

    • nimishbhuta's avatar
      nimishbhuta
      Frequent Contributor
      Basically,I am creating custom excel report and storing the screenshot of the failure and some important passed one.

      In the disconnected mode,it is taking the screenshot but partially.

      Regards,

      Nimish
      • AlexKaras's avatar
        AlexKaras
        Champion Level 3

        Hi,

         

        Note, that the mentioned tscon command does not close your UI session, but switches it to admin console one which can have different screen resolution than yours. I am not sure about the details, but can imagine the situation, when the size of the browser window remains the same and thus, on the lower screen resolution, part of the window appears out of desktop viewport, thus is not captured and creates impression of partial screenshot.

        Does this look like the reason?

        Another note: As you are working with web browser and if you are not interested in browser's window itself, you may consider .PagePicture() method instead. This method takes screenshot of complete web page scrolling it automatically.