代码之家  ›  专栏  ›  技术社区  ›  Paul Stovell

远程虚拟机上的自动化UI测试策略

  •  15
  • Paul Stovell  · 技术社区  · 15 年前

    我正在使用TeamCity进行CI构建,我想设置第二个构建,以便在WindowsXP和Windows7虚拟机上运行自动UI测试。

    我认为构建工作如下:

    1. 编译、运行单元测试等。
    2. 使用WiX准备MSI
    3. 将MSI复制到目标测试计算机
    4. 远程执行MSI
    5. 建造饰面

    自动化UI测试是使用NUnit编写的,需要直接在测试虚拟机上运行(它们不能远程运行)。重要的是,如果测试失败,它会出现在TeamCity构建日志中,并且构建失败。我不希望在任何一个测试虚拟机上安装VS或TeamCity构建代理。

    看来,这其中大部分应该是可能的使用 psexec.exe

    2 回复  |  直到 15 年前
        1
  •  7
  •   Siy Williams    15 年前

    深呼吸

    我们正在研究一些东西来帮助我们完成自动化UI测试。我们使用ranorex测试UI,使用TeamCity/Msbuild执行测试。

    1. CI服务器将安装文件和测试脚本复制到测试主机服务器。
    2. 然后,CI服务器在测试主机服务器上启动一个定制应用程序,提供要启动的VM的名称。
    3. 然后,测试主机服务器使用 Virtual PC.exe -singlepc -pc vhdname.vhd -launch ,并等待它关闭(在运行测试之后)。
    4. 测试运行后,它会将结果返回到一个联网的位置,并自动关闭。
    5. 控件返回到自定义应用程序。
    6. 控件返回给CI服务器,CI服务器根据结果确定它是否通过了测试(并更新UI,以便让开发人员知道结果)。

    我想就这些了。然而,它很复杂,很有效。希望有人能帮你。

        2
  •  2
  •   Samuel Jack    15 年前

    纽约大学的杰夫·布朗 Gallio talking about 一种叫做 Archimedes

    同时,在Gallio项目中有一个叫做 VM Tool 你想怎么做就怎么做。它提供了停止、启动和快照虚拟机的命令,更重要的是,还提供了来回复制文件和执行命令的命令。

    Powershell Remoting ?