C# 如何根据编码ui测试中的条件进行步骤

C# 如何根据编码ui测试中的条件进行步骤,c#,visual-studio-2010,coded-ui-tests,C#,Visual Studio 2010,Coded Ui Tests,我正在创建一个编码的UI测试,我在其中单击一个按钮,根据列表中项目的计数删除列表中的所有项目,我想知道在Visual Studio编码的UI测试中是否可以这样做?假设列表是一个受支持的控件(并且应该是)它将公开列表中的项目数,您可以使用它来决定是否要删除项目。如果列表仅部分受支持,但列表中的项目对CodedUI可见,则可以检查是否存在第一个项目,并决定从中删除项目 不明白。如果要查看列表中有n个项目时会发生什么情况,请设置一个包含n个项目的列表。如果列表中或多或少出现了其他情况,那么您也可以进行

我正在创建一个编码的UI测试,我在其中单击一个按钮,根据列表中项目的计数删除列表中的所有项目,我想知道在Visual Studio编码的UI测试中是否可以这样做?

假设列表是一个受支持的控件(并且应该是)它将公开列表中的项目数,您可以使用它来决定是否要删除项目。如果列表仅部分受支持,但列表中的项目对CodedUI可见,则可以检查是否存在第一个项目,并决定从中删除项目

不明白。如果要查看列表中有n个项目时会发生什么情况,请设置一个包含n个项目的列表。如果列表中或多或少出现了其他情况,那么您也可以进行设置。不要使您的测试相互依赖。这是一个SharePoint列表,我想删除列表中的项目以进行测试,如果我尝试删除列表中的项目,但没有失败的项目,我想首先确保列表中有一个项目,否则我不必删除。您可以在第一个列表项目上创建UI断言。如果它抛出异常,则不必删除任何项。或者,在UI操作周围编写一个catch块来删除列表中的项目更容易。只需捕获异常,而不重新刷新它,并将其记录为“无法删除listitem,原因:找不到任何项目”。@AutomatedChaos为什么在尝试删除之前只检查项目是否存在?对程序流使用异常是进入imo的一个坏习惯。@stoj您对这个坏习惯的看法是正确的,但在编码UI测试中,这是一种常见的做法,因为您使用相同的代码块测试积极和消极场景。负路径抛出异常,您可以对testdata进行评估。它比布尔标志更简洁,因为您可以实际读取(Exception.Message)出错的内容并将其输出到TestContext,或者您可以根据异常的类型做出决定:AssertFailureExceptions用于测试相关检查,其他用于您重试的严重意外问题。