RDP Test Suite Cross Platform · PDF file 2021. 1. 12. · RDP port: 4488 RDP port:...
date post
04-Mar-2021Category
Documents
view
2download
0
Embed Size (px)
Transcript of RDP Test Suite Cross Platform · PDF file 2021. 1. 12. · RDP port: 4488 RDP port:...
RDP Test Suite Cross Platform
Vivian Tian Senior Software Engineer
Windows Protocol Test Suite Team
Zhenhua Hu Software Engineer II
Windows Protocol Test Suite Team
Agenda
Cross Platform Background
RDP Test Suite Cross Platform Status
How to Use?
Demo
Q&A
Release 4.21.1.0
• Migrated to .NET 5.0
• Support cross platform
• Add new MS-RDPELE test cases
Test suite 4.21.1.0 GitHub
https://github.com/microsoft/WindowsProtocolTestSuites/releases
• PTF v2.1.0 on NuGet
• Test Suite Release v4.21.1.0 on GitHub
• RDP Client Test Suite
• Test suite
• Sut control agent
• Codec tool (web service)
• RDP Server Test Suite
• PTM GUI v4.21.1.0
• PTM Cli v4.21.1.0
• Docker Images on Docker Hub
RDP Cross
Platform
RDPClient
Test Suite
RDPServer
Test Suite
Codec
Web
Service
SUT
Control
Agent
PTM
GUI/Cli
Docker
Images
RDP Test Suites Release
https://www.nuget.org/packages/Microsoft.Protocols.TestTools/ https://github.com/microsoft/WindowsProtocolTestSuites/releases https://github.com/microsoft/WindowsProtocolTestSuites/releases https://github.com/microsoft/WindowsProtocolTestSuites/releases https://hub.docker.com/_/microsoft-windowsprotocoltestsuites
GitHub Activities
Interoperability Testing
Protocol Implementations
Automation Testing
Test Suite Infrastructure: .NET Framework
.NET Framework
Protocol Test Framework
FileServer
Test Suite
RDP Test
Suite ……
Windows
Proto SDK
PTM GUI/CLI
Prerequisites
• Visual Studio 2017 or higher version
• .NET Framework 3.5.1
• Spec Explorer
• Protocol Test Framework (PTF)
• Wix Toolset
• Wix Toolset Visual Studio Extension
.NET Framework is a Windows-only version of
.NET for building any type of app that runs on
Windows.
Test Suite Infrastructure: .NET .NET is a single unified platform to build desktop, web, cloud, mobile, gaming, IoT, and AI apps.
Test Suite Infrastructure: .NET
Windows Linux MacOS
.NET SDK
Proto SDK
FileServer
Test Suite RDP Test Suite ……
Protocol Test
Framework
PTM CLI
WindowsProtocolTestSuites 4.21.1.0
aka.ms/wpts
Aka.ms/wpts
Protocol Test Framework Features .NET Framework
Version Features
.NET
Version Features
Release GitHub MSI NuGet Package
Install Explicitly install MSI Side-by-side with test suites
WiX Dependency Yes No
Spec Explorer Yes No
Test Environment ✓ ✓
Configuration (ptfconfig) ✓ ✓
Checking ✓ ✓
Power Shell Adapter ✓ ✓
Managed Adapter ✓ ✓
Shell Adapter ✓ ✓
Interactive Adapter ✓ ✓
File Logging ✓ ✓
Console Logging ✓ ✓
Beacon Logging ✓
ETW logging ✓
Automatic Network Capturing ✓
https://www.nuget.org/packages/Microsoft.Protocols.TestTools/
Protocol SDK
Protocol SDK
Remove
Spec Explorer
dependency
Rewrite SSP & SSPI with C#
• NTLM
• Kerberos
• Negotiate
Fix .NET
Incompatible APIs
Protocol Test Suites
RDP Client, RDP Server Test Suites
Migrated to .NET 5
Removed Spec Explorer dependency
Removed WiX dependency
Enabled all cases on multiple platforms
Support Docker image
Codec service, SUT control agent
Migrated to .NET 5 and ASP.NET Core
Enable to run on multiple platforms
RDP Codec service: http://192.168.142.72
https://hub.docker.com/_/microsoft-windowsprotocoltestsuites
PTM GUI / PTMCli
.NET Framework Test Suite .NET Test Suite
Similar Experience as Before:
GUI, Auto Detect, Run case, Profile, etc.
PTM GUI
Windows
Windows Linux macOS
Run case with profile, Multiple Instance
PTMCli
Open source to GitHub
Linux Integration Solution
.NET Core 3
.NET 5
ASP .NET Core
…
Test Suite Cross Platform Status Sep 2020
Test Suite 4.20.9.0
PTF 2.0.0
Docker Image fileserver
Jan 2021
Test Suite 4.21.1.0
Docker Image rdpclient/rdpserver
Sep 2016
Test Suite 1.0
PTF 1.0.5000.0
Sep 2019
Test Suite 3.19.9.0
SUT Control Agent
Remotely Trigger
PTF 1.0.7000.0
How to use ? - Build and Run from Scratch
Install
Clone
Config
Build
Run
•Install .NET 5
•Clone source code from GitHub repo: aka.ms/wpts
•Modify ptfconfig file
•Run with Scripts, PTMCli or PTM (Windows) • ./RunTestCasesByFilter.sh "TestCategory=BVT&FullyQualifiedName~BVT_ConnectionTest"
• .\RunTestCasesByFilter.ps1 -Filter "TestCategory=BVT&FullyQualifiedName~BVT_ConnectionTest"
• PtmCli.exe [-s|--selected] [--categories categories] [-r|--report reportFile]
•Build test suite •Build.ps1, Build.sh
•Install .NET 5
•Download and extract the latest test suite package
Install
•Modify ptfconfig file Config
Run
How to use ? - Run with Released Binaries
•Run with Scripts, PTMCli or PTM (Windows) • ./RunTestCasesByFilter.sh "TestCategory=BVT&FullyQualifiedName~BVT_ConnectionTest"
• .\RunTestCasesByFilter.ps1 -Filter "TestCategory=BVT&FullyQualifiedName~BVT_ConnectionTest"
• PtmCli.exe [-s|--selected] [--categories categories] [-r|--report reportFile]
https://github.com/microsoft/WindowsProtocolTestSuites/releases
How to use ? – Run with Docker
Host
Host\VM OS files & libs
Container
(test suite
instance1)
Container
(test suite
instance 2)
Container
(test suite
instance 3)
Unassigned
•Install Docker Desktop
•Modify ptfconfig file
•Run Test Cases •Docker run
•Pull image from Docker Hub & Config Network •docker pull testsuiteimage.azurecr.io/windowsprotocoltestsuites:rdpclient
•docker pull testsuiteimage.azurecr.io/windowsprotocoltestsuites:rdpserver
•Start Container •Docker container create
•Docker container start
Install
Pull
Config
Start
Run
https://hub.docker.com/_/microsoft-windowsprotocoltestsuites
WindowsProtocolTestSuites GitHub
aka.ms/wpts
Aka.ms/wpts
IO Lab Environment Topology
RDP Client Testing Environments
RDP Client Test Suite Driver RDP Client Test Suite SUT
RDP Client Meetup Environments
RDP Client Test Suite Meetup Driver Computer
RDP Client Test Suite Meetup SUT
Protocol Testing Environments on Azure
VPN
VPN connection
VPN connection
RDP Server Test Suite Environments
RDP Server Test Suite Driver RDP Server Test Suite SUT
Router
RDP implementation
RDP port: 4488 RDP port: 3389 RDP port: 3389 RDP port: 3389
RDP port: 4488 RDP port:3389
Reserve Meetup Environment
Domain Controller
SUT 2 Driver 2
SUT 1 Driver 1
Meetup Environment
Demo SUT Demo Driver
Protocol Testing Environments on Azure
VPN Gateway
Connect to Meetup Environment
1. Dial In Azure Test Environment via VPN
2. Remote to Driver Computer
3. Run Cases on Driver Computer against SUT
Run Test
Run Test
DEMO
Zhenhua Hu Software Engineer II Windows Protocol Test Suite Team
Run RDPClient Test Suite with
PTMCli
on Linux Driver
Run RDPClient Test Suite with
Docker Image
on Linux Driver
What’s Next?
•WSP Test Suite
• …
Support More Test Suites
•More Features
PTF
•GUI
• Cli
PTM Cross Platform Enhancement
Build an Active Community
Report Issues Pull Requests
Feature
Requests
Cases
Requests
© Copyright Microsoft Corporation. All rights reserved.
Q&A