使用VS2010进行Web测试中的验证规则

问题描述

| 我正在创建一个简单的webtest(记录的Web性能测试),如果我尝试使用不存在的用户名登录,请确保显示正确的错误消息。 但是,有两种错误消息可以处理错误登录信息。一种是用于所有不存在的用户名,因此是不允许的,另一种是以字母“ Q”开头的用户名(出于某些原因而被禁止)。 现在我要做的是使用\'Find Text \'验证规则,如果找到\'Find Text \'参数之一,则测试应该通过,在这种情况下,我需要第二个\'Find Text \'规则,因此它不会通过测试。 换句话说,如果找到“查找测试”规则之一,则测试应始终通过。 我该如何实现?是否有其他可以用于此目的的陈述?     

解决方法

        另一种方法是使用数据绑定。如果您为网络测试定义了数据源,例如一个名为ForbiddenUsers的表,如下所示:
Username            Message
--------            ------- 
Quasimodo           You are not allowed to use this system.
NonExistent         Who are you?
然后,假设您在测试的登录部分使用数据源中的{{ForbiddenUsers.Username}},则只需添加一个带有属性的“查找文本”验证规则 \'查找文本\'= {{ForbiddenUsers.Message}} 这将为所需的用户名类型映射正确的消息。     ,        是的,您步入正轨:VS 2010具有条件。 在测试中,右键单击并选择“添加条件”。 选择“字符串比较”规则,将“使用正则表达式”设置为true,将“值”设置为^ Q。*?$,然后将“上下文参数名称”设置为包含用户名值的上下文参数。 这将匹配以Q开头的用户名。 将登录请求添加到条件请求中,然后将适当的“查找文本”规则(用于查找Q用户名错误消息)添加到请求中。 遗憾的是,这里没有其他的概念,因此您必须复制一个“条件”节点,然后在该副本中,将“比较运算符”更改为“不等于”,然后修改复制的“查找文本”规则以匹配常规的非“现有的用户名错误消息。 生成的测试应类似于:
-If ( {{username}} equals \"^Q.*?$\" )
 -http://login request here
  -Validation Rules
   -Find Text                                  <--- match Q-username error message
-If ( {{username}} does not equals \"^Q.*?$\" )
 -http://login request here
  -Validation Rules
   -Find Text                            <--- match non-existing username error message