Visual studio 2010 使用VS2010的Webtesting中的验证规则

Visual studio 2010 使用VS2010的Webtesting中的验证规则,visual-studio-2010,webtest,web-testing,Visual Studio 2010,Webtest,Web Testing,我正在创建一个简单的webtest(录制的Web性能测试),确保在尝试使用不存在的用户名登录时显示正确的错误消息 但是,有两种类型的错误消息会处理不正确的登录信息。一个用于所有不存在的用户名,因此不允许使用,另一个用于以字母“Q”开头的用户名(由于一些原因不允许使用) 现在我要做的是使用“Find Text”验证规则,如果找到其中一个“Find Text”参数,测试应该通过,在这种情况下,我希望忽略第二个“Find Text”规则,这样它就不会通过测试 换句话说,如果找到“查找测试”规则之一,则

我正在创建一个简单的webtest(录制的Web性能测试),确保在尝试使用不存在的用户名登录时显示正确的错误消息

但是,有两种类型的错误消息会处理不正确的登录信息。一个用于所有不存在的用户名,因此不允许使用,另一个用于以字母“Q”开头的用户名(由于一些原因不允许使用)

现在我要做的是使用“Find Text”验证规则,如果找到其中一个“Find Text”参数,测试应该通过,在这种情况下,我希望忽略第二个“Find Text”规则,这样它就不会通过测试

换句话说,如果找到“查找测试”规则之一,则测试应始终通过


我怎么能做到这一点?是否有一些if,else语句可供我使用?

是的,您的思路正确:VS 2010有条件

  • 在测试中,右键单击并选择添加条件
  • 选择字符串比较规则,将使用正则表达式设置为,将设置为^Q.*?$,并将上下文参数名称设置为包含用户名值的上下文参数
  • 这将匹配以Q开头的用户名
  • 将登录请求添加到条件中,并将相应的查找文本规则(用于查找Q用户名错误消息)添加到请求中
不幸的是,没有else的概念,因此您必须复制条件节点,在复制中,将比较运算符更改为不等于,然后修改复制的查找文本规则以匹配常规的不存在用户名错误消息

生成的测试应该类似于:

-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
-如果({username}}等于“^Q.*?$”)
-http://login 在此请求
-验证规则

-查找文本另一种方法是使用数据绑定。如果为web测试定义了一个数据源,比如一个名为“禁止用户”的表,如下所示:

Username            Message
--------            ------- 
Quasimodo           You are not allowed to use this system.
NonExistent         Who are you?
然后,如果在测试的登录部分使用数据源中的{{BankedenUsers.Username}},则只需添加一个具有属性的Find Text验证规则 '查找文本'={{BankedenUsers.Message}}


这将为所需的用户名类型映射正确的消息。

是的,我比我更喜欢这个答案。