0

我必须验证在响应肥皂请求时出现的字符串列表。我正在使用 pylot 测试工具。我知道如果我在<verify>abcd</verify>元素内使用字符串,它工作正常。虽然我必须使用正则表达式,但我似乎也面临同样的问题,因为我不擅长正则表达式。

我必须验证<TestName>Abcd Hijk</TestName>我对发送的请求的响应中是否存在。

以下是我尝试在 testcases.xml 中编写正则表达式

<verify>[.TestName.][\w][./TestName.]</verify>

这是在 testcases.xml 文件中编写正则表达式的正确方法吗?我想准确验证上面提到的标记名及其值。

当我运行该工具时,它没有给我任何错误。但是,如果我将字符更改为<verify>[.TesttttName.][\w][./TestttttName.]</verify>并运行该工具,它仍然可以运行而不会出错。虽然这应该是一次失败的运行,因为响应中没有提到的标签!

有人可以告诉我我在这里的正则表达式做错了什么吗?

任何帮助,将不胜感激。谢谢!

4

2 回答 2

1

使用的正则表达式应如下所示。

<verify>&amp;lt;TestName&amp;gt;[\w\s]+&amp;lt;/TestName&amp;gt;</verify>

原因是,Pylot 具有文本形式的响应内容,即[响应中的上述部分如下所示]

.......&lt;TestName&gt;ABCd Hijk&lt;/TestName&gt;.....

Pylot 所做的是,当它解析 Testcases.xml 中的元素时,它以 TEXT 格式获取元素的值。然后它在从请求中获得的响应中搜索“验证文本”。

因此,每当我们想使用正则表达式验证 Pylot 中的任何内容时,我们都需要将正则表达式置于上述格式中,以便它给出所需的结果。

注意:必须注意收到的响应格式。要查看从请求中获得的响应,请在工具上启用日志消息,或者如果您想在控制台上查看响应,请编辑工具 engine.py 模块并插入打印语句。

于 2013-01-03T09:57:20.613 回答
0

原始正则表达式(无 XML 转义)。我假设您想接受英文字母a-zA-Z、数字0-9、下划线_和空格字符(空格、换行符、回车符和其他一些字符 - 请查看文档以获取详细信息)。

<TestName>[\w\s]+</TestName>

您需要转义<and>以指定内部<verify>标记:

&lt;TestName&gt;[\w\s]+&lt;/TestName&gt;
于 2013-01-03T06:08:20.363 回答