我有一个带有WinForm和编码的UI测试项目的解决方案。我想用编码的UI测试来测试我的WinForm应用程序。
当我用UI测试生成器记录我的操作时,它不会记录我的WinForm应用程序的启动!其他一切,比如点击按钮,都会被记录下来。
所以当我运行测试时,它失败了,因为测试找不到WinForm(显然)。。。
但为什么呢?我可以在测试方法中添加一些代码来启动Winform应用程序吗?
感谢的帮助
如果您希望Coded UI在测试开始时启动表单应用程序,请使用方法
ApplicationUnderTest.Launch("FORMS_APP_PATH");
您可以在MSDN上查看精确的方法详细信息。
更新:
为了处理不断变化的路径,我创建了一个新的Forms解决方案,并称之为LabPlus。然后我添加了一个CodedUI测试项目。在测试项目中,我添加了LabPlus组件的参考。之后,我在CUI测试方法中写了以下行:
ApplicationUnderTest.Launch(System.Reflection.Assembly.GetAssembly(typeof(LabPlus.Form1)).Location);
我希望这能回答你的问题:)
我的修复:
- 将引用从测试项目添加到WinForm项目
- 用
[DeploymentItem('your-app.exe')]
属性装饰测试类 - 将
ApplicationUnderTest.Launch("your-app.exe");
添加到测试方法中