在pylot的testcases.xml中编写正则表达式的问题

时间:2013-01-03 05:51:58

标签: python regex pylot

我必须验证响应soap请求时出现的字符串列表。我正在使用pylot测试工具。我知道如果我在<verify>abcd</verify>元素中使用一个字符串,它可以正常工作。我必须使用正则表达式,因为我对正则表达式不好,所以我似乎也面临同样的问题。

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

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

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

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

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

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

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

2 个答案:

答案 0 :(得分: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中的任何内容时,我们需要将正则表达式放在上面的格式中,以便它提供所需的结果。

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

答案 1 :(得分:0)

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

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

您需要转义<>以指定内部<verify>代码:

&lt;TestName&gt;[\w\s]+&lt;/TestName&gt;