Computer Setup

This section explains how to set up the computers for the test environment.

For workgroup environments, skip tasks that are related to the setup and configuration of DC.

Set Up the Driver Computer

Important: Microsoft Visual Studio 2017 (or later), Spec Explorer (build 3.5.3146.0) and Protocol Test Framework (build 1.0.6000.0) must be installed on the driver computer before you run the test suite installer.

To set up the driver computer:

1. Copy the test suite package to the driver computer.

2. Extract the files of the test suite from the package.

3. Install the required and optional software described earlier.

4. Run RDP-TestSuite-ClientEP.msi on the driver computer.

5. On the Options dialog box, select Install Test Suite on Driver Computer.

Set Up a Windows-Based SUT

To set up a Windows-based SUT:

1. Copy the test suite package to the Windows-based SUT.

2. Extract the files of the test suite from the package.

3. Run RDP-TestSuite-ClientEP.msi on the Windows-based SUT.

4. On the Options dialog box, select Install Configuration Scripts on System Under Test (SUT).

To set up a SUT that is not based on the Windows operating system, see Configuring Computers that are Not Based on Windows.

Set Up a Windows-Based Domain Controller (DC)

DC is optional. Skip this step if the test environment is workgroup.

To set up a Windows-based DC:

1. Install Active Directory Domain Services.

To set up a DC that is not based on the Windows operating system, see Configuring Computers that are Not Based on Windows.

Configuration

This section explains how to configure the test environment.

For workgroup environments, skip tasks that are related to the setup and configuration of DC.

Configuring Windows-based Computers

This section explains how to configure computers for a Windows-based test environment. For general information about configuring computers that are not based on Windows, see Configuring Computers that are Not Based on Windows.

Note:

The property values of the .ptfconfig file are automatically set during the configuration process. For this reason, in a Windows-based test environment, configure the SUT and any other servers before you configure the driver computer.

To configure the SUT:

1. Log on to the SUT as Administrator. Enable the Administrator account if it is disabled. Detail

a. In Control Panel, open Administrative Tools and then open Computer Management.

b. In the left panel, open Local Users and Groups under System Tools, and then select Users.

c. In the right panel, double click Administrator and then uncheck the Account is disabled box.

2. Go to C:\MicrosoftProtocolTests\RDP\Client-Endpoint\<version#>\Scripts, and open the ParamConfig.xml file.

3. Review the properties shown in the following table, updating the property values as necessary. Detail

Property

Description

LogPath

The file path for storing the logs during configuration

Default value: .\..\Logs

LogFile

The name of log file.

Default value: .\..\Logs\Config-DriverComputer.ps1.log

userNameInTC

The local administrator account that is used to log on to the SUT.

Required value: Administrator

userPwdInTC

The password that is used to log on to the local administrator account of SUT.

Default value: Password01!

domainName

The domain name that is configured in DC.

Default value: contoso.com

dcComputerName

The machine name or IP address of DC.

Default value: DC01

tcComputerName

The machine name or IP address of SUT.

Default value: SUT01

driverComputerName

The machine name or IP address of driver computer.

Default value: DriverComputer

RDPListeningPort

The listening port of driver computer.

Default value: 3389

ipVersion

The IP version that is used in test.

Default value: IPv4

workgroupDomain

The test environment. If it is in domain environment, set the value to Domain; if it is in workgroup environment, set the value to Workgroup.

Default value: Workgroup

compressionInTC

Determine whether compression is used in terminal client. If compression is used, set the value to Yes; otherwise, set the value to No.

Default value: No

4. Run Windows PowerShell as Administrator.

5. At the command prompt, type Set-ExecutionPolicy Unrestricted -F, and press Enter.

6. Type cd C:\MicrosoftProtocolTests\RDP \Client-Endpoint\<version#>\Scripts, and press Enter.

7. Type .\Config-TerminalClient.ps1 and press Enter.

Steps 8, 9, 10 and 11 are only required for MS-RDPEUSB test cases.

8. Open Local Group Policy Editor by typing gpedit.msc and press Enter.

9. Enable the policy "Allow RDP redirection of other supported RemoteFX USB devices from this computer", which can be found under Local Computer Policy\Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Connection Client\RemoteFX USB Device Redirection.

10. Reboot the SUT computer and plug in the OSR USB FX2 board.

11. Go to C:\MicrosoftProtocolTests\RDP\Client-Endpoint\<version#>\Data, and edit Negotiate.RDP, DirectTls.RDP and DirectCredSSP.RDP files respectively:

a. Right-click on the RDP file, and then click Edit.

b. Select the Local Resources tab, click More..., and then click to select the OSR USB-FX2 LK check box.

c. Select the General tab, and click Save.

To configure the driver computer:

1. Log on to the driver computer as Administrator.

2. Go to C:\MicrosoftProtocolTests\RDP\Client-Endpoint\<version#>\Scripts, and open the ParamConfig.xml file.

3. Modify the parameters as you wish. Detail

Property

Description

LogPath

The file path for storing the logs during configuration

Default value: .\..\Logs

LogFile

The name of log file.

Default value: .\..\Logs\Config-DriverComputer.ps1.log

userNameInTC

The local administrator account that is used to log on to the SUT.

Required value: Administrator

userPwdInTC

The password that is used to log on to the local administrator account of SUT.

Default value: Password01!

CredSSPUser

User name used in CredSSP authentication.

It should be a member of RDP User Group on Drive Computer.

Default value: Administrator

CredSSPPwd

The user password of CredSSPUser.

Default value: Password01!

domainName

The domain name that is configured in DC.

Default value: contoso.com

dcComputerName

The machine name or IP address of DC.

Default value: DC01

tcComputerName

The machine name or IP address of SUT.

Default value: SUT01

driverComputerName

The machine name or IP address of driver computer.

Default value: DriverComputer

RDPListeningPort

The listening port of driver computer.

Default value: 3389

ipVersion

The IP version that is used in test.

Default value: IPv4

osVersion

The operating system of terminal client.

It can be Win7, Win8, or NonWindows.

Default value: Win8

workgroupDomain

The test environment. If it is in domain environment, set the value to "Domain"; if it is in workgroup environment, set the value to "Workgroup".

Default value: Workgroup

tcSystemDrive

The system drive letter of SUT machine.

Only apply to Windows SUT.

Default value: C

4. Run Windows PowerShell as Administrator.

5. At the command prompt, type Set-ExecutionPolicy Unrestricted -F, and press Enter.

6. Type cd C:\MicrosoftProtocolTests\RDP\Client-Endpoint\<version#>\Scripts, and press Enter.

7. Type .\Config-DriverComputer.ps1, and press Enter.

Note:

There will pop up a dialog when configuring the Driver Computer. The automation script will manipulate the dialog UI by sending keys to make a certificate for testing purpose. Please don't interrupt this automation process.

Note:

If the value of RDPListeningPort is set to 3389 and the Remote Desktop Service is running on the Driver Computer, the automation script will change the port of Remote Desktop Service to 4488 and restart this service.

Note:

After run Config-DriverComputer.ps1, two files are generated under C:\, as follows:

ComputerName represents driver computer's name as you configured in ParamConfig.xml.

Note:

The certificate, ComputerName.cer, is generated for testing purpose, not from a trusted certifying authority. So when you run test cases, a dialog may be popped up with warning statements: "The identity of the remote computer cannot be verified. Do you want to connect anyway? ", then you can selected the checkbox of "Don't ask me again for connections to this computer" before click Yes to avoid this dialog popped up again.

Optionally, you can install this certificate on SUT as following to avoid warning dialog. Detail

1. Copy the ComputerName.cer file to the SUT.

2. On the SUT, click Start and then click Run, in the command line, type MMC and then click OK.

3. In the Microsoft Management Console, on the File menu, click Add/Remove Snap-in.

4. In the Add or Remove Snap-ins dialog box, select Certificates and then click Add.

5. In the popped up Certificates snap-in dialog box, select the Computer account radio button, and then click Next.

6. In the Select Computer dialog box, leave the default Local computer: (the computer this console is running on) selected and then click Finish.

7. In the Add or Remove Snap-ins dialog box, click Ok.

8. In the left pane of Microsoft Management Console, expand the Certificates (Local Computer) node, and then expand the Trusted Root Certification Authorities folder.

9. Under Trusted Root Certification Authorities, right-click the Certificates subfolder, click All Tasks, and then click Import.

10. On the Certificate Import Wizard welcome screen, click Next.

11. On the File to Import screen, click Browse. Browse to the location of the the ComputerName.cer file copied in Step 1, select the file, and then click Open.

12. On the File to Import screen, click Next.

13. On the Certificate Store screen, accept the default choice and then click Next.

14. On the Completing the Certificate Import Wizard screen, click Finish.

Configuring Computers that are Not Based on Windows

This guide provides only basic information about configuring the test environment for computers that are not running Windows-based operating systems.

  • For domain environments, join all computers to the domain of the domain controller.
  • Disable active firewalls on all computers.
  • For detailed instructions about how to complete the tasks that this process requires, see the administration guide for your operating system.

    To configure the SUT:

    1. Install and enable the client implementations of the protocols to be tested.

    2. Install Certificate generated on the driver computer (Optional).

    To configure the DC:

    Configuring the Test Suite

    This test suite is installed with default configuration settings. You may need to change these settings if you use a customized test environment or if you customize your test runs.

    Note:

    The property values of the .ptfconfig file are automatically set during the configuration process.

    You can define various options for the test suite, such as the following:

  • Define the settings of the test environment, including computer names and IP addresses.
  • Define the basic options used in the test suite, for example, the protocol version or the version of the target operating system.
  • Define the folders and formats used for output from test runs.
  • Define scripts to run before and after each test run.
  • Set time limits on discrete test tasks and for test runs.
  • To change configuration settings, edit the RDP_ClientTestSuite.deployment.ptfconfig file. You can find this file in the directory C:\MicrosoftProtocolTests\RDP\Client-Endpoint\<version#>\Bin.

    Configuration Settings

    Click the following property categories to see the details.

  • Common Required Properties
  • Property

    Description

    RDP.SeverPort

    The port number used to listen for RDP connection requests.

    The default value used in this test suite: 3389

    RDP.IPVersion

    The IP version used in test environment.

    Default value: Ipv4

    RDP.Version

    The RDP version of the SUT.

    Default value: 7.0

    RDP.Security.Negotiation

    Indicates if the test suite uses the "Negotiation Approach" to select the security mechanism.

    The possible values are True and False. If the value is set to False, it indicates that the "Direct Approach" will be used.

    Default value: True

    RDP.Security.Protocol

    The security protocol used to secure the RDP session. The possible values are TLS, CredSSP and RDP.

    Default value: TLS

    RDP.Security.Encryption.Level

    The encryption level of the RDP session. The possible values are None, Low, Client, High, and FIPS.

    If the RDP.Security.Protocol value is set to TLS or CredSSP, this property must be set to None. Otherwise, the property must not be set to None.

    Default value: None

    RDP.Security.Encryption.Method

    The encryption method of the RDP session.

    The possible values are None, 40bit, 56bit, 128bit, FIPS.

    If the RDP.Security.Protocol value is set to TLS or CredSSP, this property must be set to None. If the RDP.Security.Encryption.Level value is set to FIPS, this property must be set to FIPS.

    Default value: None

    RDP.Security.IsClientToServerEncrypted

    Indicates if the client-to-server traffic is encrypted. The possible values are True and False.

    Default value: True

    IsWindowsImplementation

    Indicates if the SUT is a Windows implementation. The possible values are True and False.

    Default value: True

    DropConnectionForInvalidRequest

    Indicates whether the SUT will drop the connection when invalid request is received. The possible values are True and False.

    The value is true when IsWindowsImplementation is true.

    Default value: True

    WindowsOSVersionOfSUT

    If the SUT is a Windows implementation, this property indicates the operating system version. The possible values are Win7 and Win8.

    If the IsWindowsImplementation value is set to False, this property should be ignored.

    Default value: Win8

    CertificatePath

    The Personal Information Exchange (.pfx) certificate used to secure TLS or CrepSSP transports. If the RDP.Security.Protocol value is set to TLS or CrepSSP, this property must be set.

    Default value: C:\DriverComputer.pfx

    CertificatePassword

    The password of the certificate identified in the CertificatePath value.

    Default value: Password01!

    VerifyRdpbcgrMessage

    Enables or disables message verification as defined in MS-RDPBCGR. Set to True to enable, otherwise set to False.

    Default value: True

  • Required Properties for RDPBCGR
  • Property

    Description

    RDP.Client.SupportFastPathInput

    Indicates if the remote desktop client (SUT) supports Fast-Path Input.

    The possible values are True and False.

    Default value: True

    RDP.Client.SupportAutoReconnect

    Indicates if the remote desktop client (SUT) supports Auto-Reconnect. The possible values are True and False.

    Default value: True

    RDP.Client.SupportRDPEFS

    Indicates if the remote desktop client (SUT) supports File System Virtual Channel Extension (MS-RDPEFS). The possible values are True and False.

    Default value: True

    RDP.Client.SupportServerRedirection

    Indicates if the remote desktop client (SUT) supports Server Redirection. The possible values are True and False.

    Default value: True

  • Required Properties for RDPEUSB
  • There's no other required property for test cases of RDPEUSB.

  • Required Properties for RDPEVOR
  • There's no other required property for test cases of RDPEVOR.

  • Required Properties for RDPRFX
  • Property

    Description

    RDPRFX.Image

    Determine how test suite get the image data, which is used by RDPRFX test cases to send image to the client. It should be Screen, or the path of a image file.

    Default value: Screen

  • Required Properties for RDPEUDP
  • There's no other required property for test cases of RDPEUDP.

    Note: RDPEUDP test cases must be run under TLS or CredSSP security protocols.

  • Required Properties for RDPEMT
  • There's no other required property for test cases of RDPEMT.

    Note: RDPEMT test cases must be run under TLS or CredSSP security protocols.

  • Required Properties for RDPEI
  • There's no other required property for test cases of RDPEI.

  • Required Properties for RDPEGFX
  • Property

    Description

    ClearCodecImage

    The path of an image file, which is used to do ClearCodec test.

    The requirement for the image:

    - Size : 256 * 256 pixels

    - The top-left 64 * 64 rectangle should have some different color from background, like text, sign, etc.

    Default value: .\RdpegfxClearCodecTestImage.bmp. This image is included in the RDP test suite.

    RfxProgressiveCodecImage

    The path of an image file, which is used to do RemoteFx Progressive Codec test.

    The requirement for the image:

    - Size : 256 * 256 pixels

    Default value: .\RdpegfxRfxProgressiveCodecTestImage.bmp. This image is included in the RDP test suite.

  • Required Properties for RDPEDISP
  • Property

    Description

    RdpedispTestImage

    The path of an image file, which is used to do RDPEDISP test.

    There are no specific requirements for the image.

    Default value: .\RdpedispTestImage.bmp. This image is included in the RDP test suite.

  • Optional Configuration Settings
  • Property

    Description

    RDP.ServerDomain

    If using CredSSP security, use this setting to define the domain name of the driver computer. If the computer is not in a domain, then use the computer name.

    Default value: contoso.com

    RDP.ServerUserName

    If using CredSSP security, use this setting to define the security account user name.

    Default value: Administrator

    RDP.ServerUserPassword

    The password for the RDP.ServerUserName account.

    Default value: Password01!

    SUTName

    If the SUT is using a Windows operating system, specify the machine name or IP address of the SUT.

    Default value: SUT01

    SUTUserName

    If the SUT is using a Windows operating system, specify the local administrator account used to log on to the SUT.

    Required value: Administrator

    SUTUserPassword

    The password that is used to log on to the local administrator account of SUT.

    Default value: Password01!

    SUTSystemDrive

    If the SUT is using a Windows operating system, specify the system drive letter of SUT machine.

    Default value: C

    WaitTime

    The maximum time in seconds to wait for one SUT message.

    Default value: 40