RDP Test Suite Cross Platform · PDF file 2021. 1. 12. · RDP port: 4488 RDP port:...

Click here to load reader

  • date post

    04-Mar-2021
  • Category

    Documents

  • view

    2
  • download

    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