我必须验证响应soap请求时出现的字符串列表。我正在使用pylot测试工具。我知道如果我在<verify>abcd</verify>
元素中使用一个字符串,它可以正常工作。我必须使用正则表达式,因为我对正则表达式不好,所以我似乎也面临同样的问题。
我必须验证我的回复中是否存在<TestName>Abcd Hijk</TestName>
发送的请求。
以下是我尝试在testcases.xml中编写正则表达式
<verify>[.TestName.][\w][./TestName.]</verify>
这是在testcases.xml文件中编写正则表达式的正确方法吗?我想要确切地验证上面提到的标记名及其值。
当我运行该工具时,它没有给我任何错误。但是如果我将字符更改为<verify>[.TesttttName.][\w][./TestttttName.]</verify>
并运行该工具,它仍会运行而不会出错。虽然这应该是一个失败的运行,因为响应中没有像上面提到的那样的标签!
有人可以告诉我在正则表达式中我做错了什么吗?
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
使用的正则表达式应如下所示。
<verify>&lt;TestName&gt;[\w\s]+&lt;/TestName&gt;</verify>
原因是,Pylot以文本形式提供了响应内容,[响应中的上述部分将如下所示]
.......<TestName>ABCd Hijk</TestName>.....
Pylot的作用是,当它解析Testcases.xml中的元素时,它采用TEXT格式的元素值。然后,它会在请求中获取的响应中搜索“验证文本”。
因此,每当我们想要使用正则表达式验证Pylot中的任何内容时,我们需要将正则表达式放在上面的格式中,以便它提供所需的结果。
注意:必须注意收到的响应格式。要查看从请求获得的响应,请在工具上启用日志消息,或者如果要在控制台上查看响应,请编辑tools engine.py模块并插入print语句。
答案 1 :(得分:0)
原始正则表达式(无XML转义)。我假设您要接受英文字母a-zA-Z
,数字0-9
,下划线_
和空格字符(空格,新行,回车和其他一些 - 请查看文档以获取详细信息)。
<TestName>[\w\s]+</TestName>
您需要转义<
和>
以指定内部<verify>
代码:
<TestName>[\w\s]+</TestName>