【问题标题】:Performance tool on CodedUI TestsCodedUI 测试上的性能工具
【发布时间】:2012-12-31 15:02:12
【问题描述】:

目前我注意到我的自动化测试 (CodedUI) 有时运行速度有点慢。我想在它们运行 VS2010 时对它们运行性能分析工具。我曾尝试使用 Red Gate 的 ANTs Profiler,但对我应该将其附加到哪个进程(或其他?)感到困惑。

我最接近的方法是从命令行启动 Profiler 并调用 Mstest.exe 作为进程参数运行一些测试。这只会返回我 VS 方法的性能,而不是我自己的测试代码。

//e.g
Profile.exe /e:"Mstest /testcontainer:Tests\bin\debug\CodedUITests.dll /test:Login /unique" /csv:"C:\testing\results.csv"

我从herehere 构造了这个命令。

有没有人知道用 cpu/内存分析器(本地或其他方式)启动一组测试然后读取结果的干净方法?

可用机器按优先顺序排列:Windows 7/XP/Server 2008 R2
可以从:VS2010 运行,或作为构建的一部分(TFS/实验室管理)

【问题讨论】:

  • 我记得那个进程叫做QTAgent。
  • @nikita 谢谢,我确实尝试连接到 QTAgent32 进程,但不幸的是,它返回的结果与我的代码没有比 Mstest 更接近。
  • 您正在运行什么样的应用程序? WinForms 还是 Web?如果 WinForms 则附加到您的 winForms 应用程序,如果是 web 则...

标签: c# visual-studio-2010 selenium-webdriver performance-testing


【解决方案1】:

如果您非常确信您的测试不会以某种令人讨厌的方式崩溃,您还可以将/noisolation 添加到您传递给 mstest 的参数中。也就是说,你的命令会说,

Profile.exe /e:"Mstest" /args:"/testcontainer:Tests\bin\debug\CodedUITests.dll /test:Login /unique /noisolation" /csv:"C:\testing\results.csv" /data:c:\testing\moodilymooh

另外一个想法是,您可以将/data 添加到配置文件命令中,使其输出一个您可以从 GUI 使用的 app[0-9]+results 文件。

【讨论】:

    【解决方案2】:

    进一步阅读后,我发现我需要检测我的二进制文件,以便分析器在运行时了解我的方法。我使用VSInstr 做到了这一点,它将测试 dll 转换为检测的。然后,当我使用上面的命令行运行分析器时,分析器就可以工作了。

    • 运行:VSinstr.exe Your.Tests.dll
    • 打开 ANTs Profiler。
    • 选择 Mstest.exe 作为 .Net 可执行文件。
    • 将测试项目 bin\Debug 文件夹设置为工作目录。
    • 在参数位置:
      /testcontainer:C:\...\YOURTests\bin\debug\Your.Tests.dll /test:LoginTest

    【讨论】:

    • 仅供参考:在某些情况下,工作目录应该是解决方案的根,而不是 bin,尤其是在处理包含相对路径 IO 查找的程序集时。 VSInstr 信息 +1(如果可以的话,还有更多!)。
    猜你喜欢
    • 2010-10-03
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多