Windows协议测试套件安装教程

介绍

官方源码:https://github.com/Microsoft/WindowsProtocolTestSuites

官方介绍:

目录结构

根目录

根目录

CommonScripts 依赖脚本
TestSuites 源码
ProtocolTestManager UI工具
ProtoSDK 协议库、SDK等

TestSuites目录

存放所有测试协议套件的源码文档。

TestSuites

基本每个测试套件都由这三个目录组成
Setup文件夹可能被(Scripts或者Setup/Scripts)取代,RDP会多一级目录,分为Server协议和Client协议.

安装

安装步骤可以按照官方给出的文档一步步进行下去,这里介绍的是另一种安装方式。

在最近的更新中,各协议的源码都给出了protocol.xml文件,我们可以根据此配置文件进行环境的搭建,文档的内容作为参考,参数可根据实际情况修改

这里我们以Kerberos为例,protocol.xml如下

<lab>
  <core>
    <username>Administrator</username>
    <password>Password01!</password>
    <legacyclient>true</legacyclient>
    <basecpu>1</basecpu>
    <Description>DC x 2 and Member x 4(NIC x 1), Kerberos sample setup static ip address</Description>
  </core>

  <network>
    <vnet>
      <hostisgateway>true</hostisgateway>
      <name>Kerberos-Internal</name>
      <networktype>Internal</networktype>
      <ip>192.168.21.254</ip>
      <subnet>255.255.255.0</subnet>
    </vnet>
  </network>

  <Parameters>
    <Parameter Name="DriverVMName" Value="Kerberos-ENDPOINT01" Comment="The name of the driver VM" />
  </Parameters>

  <servers>
    <vm>
      <installorder>1</installorder>
      <sku>server</sku>
      <role>PDC01</role>
      <hypervname>Kerberos-DC01</hypervname>
      <name>DC01</name>
      <username>Administrator</username>
      <password>Password01@</password>
      <domain>contoso.com</domain>
      <isdc>true</isdc>
      <vnet>Kerberos-Internal</vnet>
      <ip>192.168.21.1</ip>
      <subnet>255.255.255.0</subnet>
      <gateway></gateway>
      <dns>127.0.0.1;192.168.21.2</dns>
      <cpu>1</cpu>
      <memory>2048</memory>
      <configscript>Configure-DC01.ps1</configscript>
      <postscript>Kerberos-DC01-Postscript.ps1</postscript>
      <restartinpostscript>true</restartinpostscript>
      <skipwaitingforpostscript>false</skipwaitingforpostscript>
      <trusttargetdomain>kerb.com</trusttargetdomain>
      <trustpassword>Password01!</trustpassword>
    </vm>

    <vm>
      <installorder>2</installorder>
      <sku>server</sku>
      <role>TDC01</role>
      <hypervname>Kerberos-DC02</hypervname>
      <name>DC02</name>
      <username>Administrator</username>
      <password>Password01#</password>
      <domain>kerb.com</domain>
      <isdc>true</isdc>
      <vnet>Kerberos-Internal</vnet>
      <ip>192.168.21.2</ip>
      <subnet>255.255.255.0</subnet>
      <gateway></gateway>
      <dns>127.0.0.1;192.168.21.1</dns>
      <cpu>1</cpu>
      <memory>2048</memory>

      <postscript>Kerberos-DC02-Postscript.ps1</postscript>
      <configscript>Configure-DC02.ps1</configscript>
      <restartinpostscript>true</restartinpostscript>
      <skipwaitingforpostscript>false</skipwaitingforpostscript>

      <trusttargetdomain>contoso.com</trusttargetdomain>
      <trustpassword>Password01!</trustpassword>
      <trusttargetserver>DC01.contoso.com</trusttargetserver>
      <trusttargetuser>CONTOSO\Administrator</trusttargetuser>
      <trusttargetpwd>Password01@</trusttargetpwd>
    </vm>

    <vm>
      <installorder>3</installorder>
      <sku>server</sku>
      <role>AP01</role>
      <hypervname>Kerberos-AP01</hypervname>
      <name>AP01</name>
      <username>Administrator</username>
      <password>Password01!</password>
      <domain>contoso.com</domain>
      <vnet>Kerberos-Internal</vnet>
      <ip>192.168.21.10</ip>
      <subnet>255.255.255.0</subnet>
      <gateway></gateway>
      <dns>192.168.21.1</dns>
      <cpu>1</cpu>
      <memory>2048</memory>

      <installfeaturescript>Install-FSRM.ps1;Install-IIS.ps1;Install-ADDS.ps1</installfeaturescript>
      <postscript>Kerberos-AP01-Postscript.ps1</postscript>
      <configscript>Configure-AP01.ps1</configscript>
      <restartinpostscript>true</restartinpostscript>
      <skipwaitingforpostscript>false</skipwaitingforpostscript>

      <dcserver>DC01.contoso.com</dcserver>
      <dcuser>CONTOSO\Administrator</dcuser>
      <dcpwd>Password01@</dcpwd>
    </vm>

    <vm>
      <installorder>4</installorder>
      <sku>server</sku>
      <role>AP02</role>
      <hypervname>Kerberos-AP02</hypervname>
      <name>AP02</name>
      <username>Administrator</username>
      <password>Password01!</password>
      <domain>kerb.com</domain>
      <vnet>Kerberos-Internal</vnet>
      <ip>192.168.21.20</ip>
      <subnet>255.255.255.0</subnet>
      <gateway></gateway>
      <dns>192.168.21.2</dns>
      <cpu>1</cpu>
      <memory>2048</memory>

      <installfeaturescript>Install-FSRM.ps1;Install-IIS.ps1;Install-ADDS.ps1</installfeaturescript>
      <postscript>Kerberos-AP02-Postscript.ps1</postscript>
      <configscript>Configure-AP02.ps1</configscript>
      <restartinpostscript>true</restartinpostscript>
      <skipwaitingforpostscript>false</skipwaitingforpostscript>

      <dcserver>DC02.kerb.com</dcserver>
      <dcuser>KERB\Administrator</dcuser>
      <dcpwd>Password01#</dcpwd>
    </vm>

    <vm>
      <installorder>5</installorder>
      <sku>server</sku>
      <role>PROXY01</role>
      <hypervname>Kerberos-PROXY01</hypervname>
      <name>PROXY01</name>
      <username>Administrator</username>
      <password>Password01!</password>
      <domain>contoso.com</domain>
      <vnet>Kerberos-Internal</vnet>
      <ip>192.168.21.3</ip>
      <subnet>255.255.255.0</subnet>
      <gateway></gateway>
      <dns>192.168.21.1;192.168.21.2</dns>
      <cpu>1</cpu>
      <memory>2048</memory>

      <installfeaturescript>Install-IIS.ps1</installfeaturescript>
      <postscript>Kerberos-PROXY01-Postscript.ps1</postscript>
      <configscript>Configure-PROXY.ps1</configscript>
      <restartinpostscript>true</restartinpostscript>
      <skipwaitingforpostscript>false</skipwaitingforpostscript>
    </vm>

    <vm>
      <installorder>6</installorder>
      <sku>client</sku>
      <role>DriverComputer</role>
      <hypervname>Kerberos-ENDPOINT01</hypervname>
      <name>ENDPOINT01</name>
      <username>Administrator</username>
      <password>Password01!</password>
      <domain>contoso.com</domain>
      <vnet>Kerberos-Internal</vnet>
      <ip>192.168.21.101</ip>
      <subnet>255.255.255.0</subnet>
      <gateway></gateway>
      <dns>192.168.21.1;192.168.21.2</dns>
      <cpu>1</cpu>
      <memory>4096</memory>
      <localdcserver>DC01.contoso.com</localdcserver>
      <localapserver>AP01.contoso.com</localapserver>
      <localdcuser>CONTOSO\Administrator</localdcuser>
      <localdcpwd>Password01@</localdcpwd>
      <trustdcserver>DC02.kerb.com</trustdcserver>
      <trustapserver>AP02.kerb.com</trustapserver>
      <trustdcuser>KERB\Administrator</trustdcuser>
      <trustdcpwd>Password01#</trustdcpwd>
      <postscript>Kerberos-ENDPOINT01-Postscript.ps1</postscript>
        <configscript>Configure-ENDPOINT.ps1</configscript>
      <restartinpostscript>true</restartinpostscript>
      <skipwaitingforpostscript>false</skipwaitingforpostscript>
      <tools>
        <tool name="SE" MSIName="SpecExplorer.msi" version="3.5.3146.0" CPUArchitecture="x86" />
        <tool name="PTF" MSIName="ProtocolTestFrameworkInstaller.msi" version="1.0.6000.0" CPUArchitecture="x86" />
        <TestsuiteMSI MSIName="Kerberos-TestSuite-ServerEP.msi" targetEndpoint="" />
      </tools>
    </vm>
  </servers>
</lab>

介绍一下比较重要的几个标签,没有的协议可以忽略。

  • <network>标签
    网卡的配置

  • <vm>标签
    所有测试虚拟(物理)机的详细信息,此标签的数量代表了建议测试使用的机器数量,如与文档不一致时,可根据实际情况,自行选择或结合使用。

  • <role>标签

    值可可分为两种:DriverComputer 和 SUT(System Under Test),用于安装 (Protocol)-TestSuite-ServerEP.msi 时进行选择。(通常除了标明为DriverComputer的都是SUT)。
    SpecExplorer.msi
  • <postscripts><installscript><postiso><installfeaturescript><configscript>等
    此类标签带有脚本,执行优先级由高到低为
    <postiso> & <installscript> (安装所需软件)
    <installfeaturescript>(设置或安装windows feature)
    <postscripts> (关闭防火墙配置域等)
    <configscript>(配置测试环境)

  • <tool><TestsuiteMSI>标签
    环境所需安装的软件,可在项目内或微软官网找到下载即可,注意所需版本号。

  • <name><ip><username><password><subnet><gateway><dns>标签,只需保持名称与测试目录下的 (Protocol)TestSuite.deployment.ptfconfig一致即可,此目录安装 SpecExplorer.msi 后自行生成,通常在C:\MicrosoftProtocolTests\Kerberos\ < version # > \Bin。

按照此配置文档进行环境搭建后,按照官方的测试方法或直接运行Driver机桌面上的TestCase即可验证。

示例

  1. 以Kerberos协议为例,首先从 GitHub 下载整个项目,然后执行对应协议目录下的 build.cmd 进行编译,有些动态生成的文件是没有放到GitHub上的!
  2. 找到 Protocol.xml 文件,根据文件说明进行配置:

    (1)创建六台虚拟(物理)机,系统要求请查看官方文档。
    Hyper-V

    (2)修改机器机器名,IP,网关,DNS等,重启机器,通过ping命令等方式检查连接情况。
    Adapter

(3)根据<tool>标签安装相应的软件
(4)执行<installfeaturescript>内的脚本
(5)执行<postscript>内的脚本,由于涉及加域等步骤,需要按照先DC后其他的顺序执行,一般可按照此文档的机器编号顺序执行。
(6)执行<configscript>标签,完成安装。

测试

测试方面官网比较详细,这里不再赘述,可简单概括为:修改配置文件((Protocol)TestSuite.deployment.ptfconfig),运行Driver机桌面的RunAllTestCase.cmd (名字略有差异),查看TestResult的结果。

欢迎来我的博客查看更多文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容