VS 2010编码UI测试 - 启动参考应用程序

Cor*_*ory 22 automated-tests visual-studio-2010 coded-ui-tests

每次在我的TFS服务器上运行构建时,我都在使用Visuial Studio的编码UI测试在WPF应用程序上运行自动UI测试.我遇到的问题是根据它刚刚构建的路径动态启动可执行文件,包括配置(x86,x64).

有没有办法在引用的项目中获取可执行文件的路径,以便我可以从我的测试项目中动态启动应用程序?

Ada*_*dam 24

MSTest的:

  1. 打开.testsettings文件并检查部署部分下的"启用部署".
  2. 在测试项目中单击鼠标右键,然后选择"添加现有项".
  3. 浏览到要测试的应用程序的构建位置.
  4. 找到您的可执行文件并选择"添加为链接"(如果您的测试项目尚未引用,请确保包含所有依赖于应用程序的DLL.)
  5. 右键单击可执行文件的链接,然后选择"始终复制"(这将在构建时将.exe的新版本复制到测试bin目录中)
  6. 在您[TestInitialize]添加以下内容以启动您的应用:

    _yourApp = ApplicationUnderTest.Launch(Path.Combine(Directory.GetCurrentDirectory(), "yourexecutablename.exe"));
    Run Code Online (Sandbox Code Playgroud)
  7. 在你的[TestCleanup]你添加以下内容:

    _yourApp.Close();
    Run Code Online (Sandbox Code Playgroud)

NUnit :(您需要引用并使用Microsoft.VisualStudio.TestTools.UITesting)

  1. 在测试项目中单击鼠标右键,然后选择"添加现有项".
  2. 浏览到要测试的应用程序的构建位置.
  3. 找到您的可执行文件并选择"添加为链接"(如果您的测试项目尚未引用,请确保包含所有依赖于应用程序的DLL.)
  4. 右键单击可执行文件的链接,然后选择"始终复制"(这将在构建时将.exe的新版本复制到测试bin目录中)
  5. 在您[Setup]添加以下内容以启动您的应用:

    _yourApp = ApplicationUnderTest.Launch("yourexecutablename.exe"));
    Run Code Online (Sandbox Code Playgroud)
  6. 在你的[Teardown]你添加以下内容:

    _yourApp.Close();
    Run Code Online (Sandbox Code Playgroud)

注意:我还没有验证NUnit的实现

  • 这不起作用.即使EXE作为链接添加并且复制设置设置为"始终复制",EXE文件也不会复制到[VS乱码]/Out文件夹. (4认同)