Windows 自动化需要与 .net 应用程序交互
Windows Automation needs interaction with a .net application
我真的不知道如何更好地解释我 运行 遇到的这种情况,但我会尽力而为。
这就是我想要做的...
我目前有一个批处理文件,可以执行一些操作,例如从 FTP 下载文件、创建文件夹、修改一些文本文件等。手动和批处理需要我们 45 分钟脚本自动化更容易。
下一步我要做的是,启动我们的 .net Windows 应用程序,登录并在其中执行一些操作,然后注销。这实际上是一个回归测试用例,我在另一台机器上使用 VS Coded UI 实现了自动化。我 运行 遇到的问题是,有一个单独的支持团队需要完成 45 分钟的工作,我已经自动化完成,然后在登录应用程序后执行一些操作。该支持团队的机器不会安装 VS 或 Coded UI。
那么,我该怎么做呢?有什么想法吗?
您可以在计算机上未安装 Visual Studio/CodedUI 的情况下执行您编写的 CodedUI 测试。请记住,您可以 运行 通过 TFS 或 Microsoft 测试管理器中的控制器和代理进行测试。您可以手动将这些原则应用到 运行,即使这是一个奇怪的极端情况。如果我没记错的话,这需要两个步骤:
- 设计您的 CodedUI 测试以引用 CodedUI .dll 作为解决方案的一部分,而不是 GAC。我的意思是将所需的 .dll 复制并粘贴到解决方案文件夹中,并将现有引用替换为指向文件夹中 .dll 的引用。当您分发测试时,一定要包括这个 sol 文件夹。 (更新:在获得更多经验后,我发现使用 NuGet 包更容易。项目级引用绝对是噩梦)
- 在测试者机器上安装微软免费提供的"Test Agent"软件。这将安装您的测试人员在他们的 GAC 中可能需要的其他测试 .dll。你也可以用这些做第 1 步,但老实说,我认为这不是那么麻烦。此外,它还会安装必要的 mstest 可执行文件。
然后您的测试人员将不得不在控制台中使用 mstest.exe(更新:安装代理后,您 can/should 使用 vstest.console.exe 作为替代)到 运行 你的 CodedUI 测试。或者,您可以使用 powershell 或您的批处理文件在一个整洁的包中执行您的测试和其他测试。
如果这为您的问题提供了潜在的解决方案,请告诉我。
我真的不知道如何更好地解释我 运行 遇到的这种情况,但我会尽力而为。
这就是我想要做的...
我目前有一个批处理文件,可以执行一些操作,例如从 FTP 下载文件、创建文件夹、修改一些文本文件等。手动和批处理需要我们 45 分钟脚本自动化更容易。
下一步我要做的是,启动我们的 .net Windows 应用程序,登录并在其中执行一些操作,然后注销。这实际上是一个回归测试用例,我在另一台机器上使用 VS Coded UI 实现了自动化。我 运行 遇到的问题是,有一个单独的支持团队需要完成 45 分钟的工作,我已经自动化完成,然后在登录应用程序后执行一些操作。该支持团队的机器不会安装 VS 或 Coded UI。
那么,我该怎么做呢?有什么想法吗?
您可以在计算机上未安装 Visual Studio/CodedUI 的情况下执行您编写的 CodedUI 测试。请记住,您可以 运行 通过 TFS 或 Microsoft 测试管理器中的控制器和代理进行测试。您可以手动将这些原则应用到 运行,即使这是一个奇怪的极端情况。如果我没记错的话,这需要两个步骤:
- 设计您的 CodedUI 测试以引用 CodedUI .dll 作为解决方案的一部分,而不是 GAC。我的意思是将所需的 .dll 复制并粘贴到解决方案文件夹中,并将现有引用替换为指向文件夹中 .dll 的引用。当您分发测试时,一定要包括这个 sol 文件夹。 (更新:在获得更多经验后,我发现使用 NuGet 包更容易。项目级引用绝对是噩梦)
- 在测试者机器上安装微软免费提供的"Test Agent"软件。这将安装您的测试人员在他们的 GAC 中可能需要的其他测试 .dll。你也可以用这些做第 1 步,但老实说,我认为这不是那么麻烦。此外,它还会安装必要的 mstest 可执行文件。
然后您的测试人员将不得不在控制台中使用 mstest.exe(更新:安装代理后,您 can/should 使用 vstest.console.exe 作为替代)到 运行 你的 CodedUI 测试。或者,您可以使用 powershell 或您的批处理文件在一个整洁的包中执行您的测试和其他测试。
如果这为您的问题提供了潜在的解决方案,请告诉我。