2011-05-30 35 views
0

我正在创建一个简单的webtest(记录的Web性能测试),以确保在尝试使用不存在的用户名登录时显示正确的错误消息。使用VS2010进行Web测试的验证规则

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

现在我想要做的就是使用“查找文本”验证规则,如果找到其中一个“查找文本”参数,测试应该会通过,在这种情况下,我想要第二个“查找文本”规则被忽略,所以它不会失败的测试。

换句话说,如果找到其中一个“查找测试”规则,测试应该总是通过。

我该如何做到这一点?是否有一些if,else声明可以用于此?

回答

0

是的,你是在正确的轨道上:VS 2010有条件。

  • 在您的测试中,右键单击并选择添加条件
  • 选择字符串比较规则,设置使用正则表达式真正,设置价值^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 
2

做的另一种方法是使用数据绑定。如果你有一个数据源定义为您的网络测试,如表称为ForbiddenUsers这样的:

Username   Message 
--------   ------- 
Quasimodo   You are not allowed to use this system. 
NonExistent   Who are you? 

然后,只要您使用{{ForbiddenUsers.Username}}在的登录部分数据源在测试中,您只需要添加一个查找文本验证规则,并使用属性 '查找文本'= {{ForbiddenUsers.Message}}

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

+0

是的,我喜欢这个答案比我的更好。 – agentnega 2012-05-09 07:58:09