我有一系列组成单个测试用例的CodedUI测试方法。测试方法需要按顺序运行(IE testmethoda然后运行testmethodb然后testmethodc),我希望结果在Microsoft Test Manager中显示,看起来像testmethoda通过,testmethodb通过,testmethodc失败。有没有办法做到这一点,而能够运行整个测试用例的多个迭代?在测试管理器中订购编码的UI测试和结果
我曾尝试将测试方法放入单一测试方法中并调用该方法。这为我提供了所需的测试顺序和进行多次测试运行的能力,但测试管理器在整个测试用例中显示了一次通过/失败。
我也尝试将数据源附加到单个测试方法,并在测试管理器中对它们进行排序,从而在测试管理器中给出期望的测试结果,但是具有副作用,如果我想运行多个数据行,弄乱了。例如3个数据行可以运行:
testmethoda
testmethoda
testmethoda
testmethodb
testmethodb
testmethodb
testmethodc
testmethodc
testmethodc
I W蚂蚁他们运行:
testmethoda
testmethodb
testmeothdc
testmethoda
testmethodb
testmethodc等。
我曾想过使用有序测试很好,但仍然显示为一个单一的在MTM中进行测试,并且我不知道数据驱动它的方法,所以它会有它自己的问题。
是否有一个功能,我缺少VS或MTM来获得这些结果?也许一种方法可以让我在结果文件中定义测试运行?编写/编辑trx文件是否将我的结果导入MTM?我有一种感觉,我也必须对TFS数据库进行更改,这不是一个选项。
是的不幸的是,B和C确实会相互影响。如果A失败,B和C就不能运行,所以他们不得不退出。真正的问题是A B和C都应该被认为是一个测试用例。 – stoj
虽然您的测试方法是一个测试用例,但是将它们分为较小的方法是一种很好的做法,因此您可以稍后在其他测试用例中重用它们。例如,如果A方法是'LoginToSite()',我相信有多个测试用例使用它,所以如果您的登录页面发生任何更改,您只需更改(或重新记录)一种方法。至于我的回答,我已经在一个'黑盒'测试中使用它,在这个测试中,对Web服务的简单调用会执行许多数据库声明,并期望对其他应用程序进行多次调用,因此,如果任何数据库声明或预期调用失败测试不会停止。 – Schaliasos
是的,从发展的角度来看,它们应该是分开的,否则它们将是不可修复的500行函数没有提到违反DRY ....从测试用例报告的角度来看,尽管我认为它们应该是单个案例。 – stoj