Exemplo n.º 1
0
        /// <summary>
        /// This method is used to trigger screen resolution change on the client.
        /// </summary>
        /// <param name="width">width of new desktop resolution</param>
        /// <param name="height">height of new desktop resolution</param>
        /// <returns>Negative values indicate the operation is failed, otherwise, successful.</returns>
        public int TriggerResolutionChangeOnClient(ushort width, ushort height)
        {
            // Get help message
            string helpMessage = CommonUtility.GetHelpMessage(interfaceFullName);
            // Create payload
            List <byte> payloadList = new List <byte>();

            // Add operation
            byte[] operationBytes = BitConverter.GetBytes((uint)RDPEDISP_Update_Resolution_Operation.UPDATE_RESOLUTION);
            if (!BitConverter.IsLittleEndian)
            {
                Array.Reverse(operationBytes);
            }
            payloadList.AddRange(operationBytes);
            // Add width and height
            byte[] widthBytes  = BitConverter.GetBytes(width);
            byte[] heightBytes = BitConverter.GetBytes(height);
            if (!BitConverter.IsLittleEndian)
            {
                Array.Reverse(widthBytes);
                Array.Reverse(heightBytes);
            }
            payloadList.AddRange(widthBytes);
            payloadList.AddRange(heightBytes);

            // Create request message
            ushort reqId = controlHandler.GetNextRequestId();
            SUT_Control_Request_Message requestMessage = new SUT_Control_Request_Message(SUTControl_TestsuiteId.RDP_TESTSUITE, (ushort)RDPSUTControl_CommandId.DISPLAY_UPDATE_RESOLUTION,
                                                                                         reqId, helpMessage, payloadList.ToArray());

            //Send the request and get response if necessary
            byte[] resposePayload = null;
            return(controlHandler.OperateSUTControl(requestMessage, false, out resposePayload));
        }
        /// <summary>
        /// This method is used to trigger one touch event on the client.
        /// </summary>
        /// <returns>Negative values indicate the operation is failed, otherwise, successful.</returns>
        public int TriggerOneTouchEventOnClient()
        {
            // Get help message
            string helpMessage = CommonUtility.GetHelpMessage(interfaceFullName);
            // Create payload
            uint inputTimes = 1;

            byte[] payload = BitConverter.GetBytes((uint)inputTimes);
            if (!BitConverter.IsLittleEndian)
            {
                Array.Reverse(payload);
            }

            // Create request message
            ushort reqId = controlHandler.GetNextRequestId();
            SUT_Control_Request_Message requestMessage = new SUT_Control_Request_Message(SUTControl_TestsuiteId.RDP_TESTSUITE, (ushort)RDPSUTControl_CommandId.TOUCH_EVENT_SINGLE,
                                                                                         reqId, helpMessage, payload);

            //Send the request and get response if necessary
            byte[] resposePayload = null;
            return(controlHandler.OperateSUTControl(requestMessage, false, out resposePayload));
        }
Exemplo n.º 3
0
        /// <summary>
        /// This method is used to trigger RDP client initiate a disconnection of current session.
        /// </summary>
        /// <returns>Negative values indicate the operation is failed, otherwise, successful.</returns>
        public int TriggerClientDisconnect(string caseName)
        {
            // Get help message
            string helpMessage = CommonUtility.GetHelpMessage(interfaceFullName);

            // Create payload
            byte[] payload = null;

            // Create request message
            ushort reqId = controlHandler.GetNextRequestId();
            SUT_Control_Request_Message requestMessage = new SUT_Control_Request_Message(SUTControl_TestsuiteId.RDP_TESTSUITE, (ushort)RDPSUTControl_CommandId.CLOSE_RDP_CONNECTION, caseName,
                                                                                         reqId, helpMessage, payload);

            //Send the request and get response if necessary
            byte[] resposePayload = null;
            return(controlHandler.OperateSUTControl(requestMessage, false, out resposePayload));
        }