vivian tian yan zeng feng han huiren jiang · test suite 3.19.3.0 mar 2019 test suite 3.19.1.0 jan...
TRANSCRIPT
Yan ZENGVivian TIAN Huiren JIANGFeng HAN
RDP Test Suites Embrace Open Source
Vivian TIAN
Yan ZENG
Window Protocol Test Suite Developers
Agenda
Windows Test Suite Open Source
Open Source Community
Linux Integration Solution
Workshop Q&A
Test Suite
3.19.3.0
Mar 2019
Test Suite
3.19.1.0
Jan 2018
Test Suite
3.18.9.0
Sep 2018
Test Suite
3.18.6.0
Jun 2018
Test Suite
3.18.3.0
Mar 2018
…
Test Suite
1.0.5000.0
June 2016
PTF
1.0.5000.0
May 2016
Kickoff
Jan 2016
Windows Protocol Test Suites Open Source
• 10 releases since 2016
• Total download number increased by 111% last year
• 48/48 issues closed
• 5 pull requests from external partners
• Always a new release before every event
• GitHub http://aka.ms/wptf
• GitHub http://aka.ms/wpts
2261 23282397 2455 2618
2660
4003 4351 44684566
46704781
0
1000
2000
3000
4000
5000
6000
GitHub Download Number Trend
MIT License
• 11
• 45
• 2
Windows Protocol Test Suites Open Source
Open Source Community
Open Source Community Privileges
1. Privileges to trigger regression on GitHub
2. Issues will be handled with higher priority
3. Meetup
• Workshop with 1-1 support
• Private build for fresh artifacts
• Gift
Interoperability Testing
Protocol Implementations
Automation Testing
Open Source Community
Regression
GitHub
Clone Make change Build Pull Request
ReviewApproveMerge
* Check more details on GitHub about how to build test suites: Windows Protocol Test Suites/Readme.md
• GitHub http://aka.ms/wptf
• GitHub http://aka.ms/wpts
Report
Issues
Pull
Requests
Feature
Requests
Cases
Requests
Build an Active Community
Other Open Source Community Contribution
https://github.com/FreeRDP/FreeRDP/pull/5275 https://github.com/rdesktop/rdesktop/pull/317
Test Suite
Linux Integration Solution
Control SUT Status
Linux
Lab Machine
Remote Run
RDP Client (SUT)
Control SUT Status
RDP Client (SUT)
SUT Control Adapter
• Used to control SUT status during testing.
Example
• Screen shot on RDP Client
Test Suite4 Types:
1. PowerShell
2. Interactive
3. Managed
• Protocol Based
• C#, Java
4. Shell Change Status
SUT Control AdapterProtocol Based
https://github.com/Microsoft/WindowsProtocolTestSuites/tree/staging/TestSuites/RDP/RDPSUTControlAgent
Command Value Meaning
START_RDP_CONNECTION 0x0001 Trigger SUT to start a RDP connection
CLOSE_RDP_CONNECTION 0x0002 Trigger SUT to close all RDP connection
AUTO_RECONNECT 0x0003 Trigger SUT to start an auto reconnect
BASIC_INPUT 0x0004 Trigger SUT to do basic input on RDP client
SCREEN_SHOT 0x0005 Do a screen shot on RDP client and send graphic data back
TOUCH_EVENT_SINGLE 0x0101 Ask SUT to trigger single touch event on RDP client
TOUCH_EVENT_MULTIPLE 0x0102 Ask SUT to trigger multiple touch event on RDP client
TOUCH_EVENT_DISMISS_HOVERING_CONTACT 0x0103 Ask SUT to trigger a dismiss hovering contact event on RDP client
DISPLAY_UPDATE_RESOLUTION 0x0201 Ask SUT to trigger RDPEDISP message to update display resolution
DISPLAY_UPDATE_MONITORS 0x0202
Ask SUT to trigger RDPEDISP message to update monitor setting,
such as add a monitor, remove a monitor or change monitor position
DISPLAY_FULLSCREEN 0x0203 Ask SUT to change RDP client to full screen.
• Need to implement a simple program as an Agent to control SUT
• C# and Java implementation
SUTTest Suite
Test Cases
SUT control
adapter
RDP Client
RDP Protocols
SUT Control
Request MessageAgent
SUT Control
Response Message
SUT Remote
Control Protocol Operate Call
Method
SUT Control AdapterProtocol Based
• Need Shell scripts and SSH Server on SUT
SUT Control AdapterShell
SUTTest Suite
Test CasesRDP Client
RDP Protocols
Operate Call
Method
SSH
Public key authentication
SSH
Server
SUT control
adapter
Linux Lab Machine Windows Driver Computer Linux SUT
• OpenSSH Client
• Shell
• OpenSSH Server/Client
• WSL
• Windows Protocol Test Suites
• PTM, profile file
• OpenSSH Server
• Shell or JRE
Remote trigger script• Trigger Windows test cases run
• Copy logs back
• Private Test Suite build with Shell Adapter
• Private PTM
• Configuration scripts
• Shell scripts for SUT control
Or Java Agent (.jar)
Linux Integration Solution
Remote Run Control SUT Status
* Get private build on GitHub: http://aka.ms/wpts and http://aka.ms/wptf branch shell-adapter
Demo
Demo-Driver Demo-SUTDemo-Trigger
• SUT Control Adapter: Java, Shell
• Remote run test cases on Linux Automatically
Open Source Community Workshop
1. SUT control adapter
2. Remote run
3. Codec Toolhttp://10.10.0.70
http://192.168.0.9
http://192.168.0.8
• Beta Build
• PTF 1.0.6500.0 (supports Shell adapter)
• PTM 3.19.6.0
• RDP client test suite 3.19.6.0
• Protocol based control adapter (.jar)
• Shell scripts for remote run on Linux
• Source code
• Release 3.19.3.0 MSI• PTF
• PTM
• Test Suites
• Source code
• Azure VPN
Yan ZENGVivian TIAN Huiren JIANGFeng HAN