我试图找到一种方法,以获得机器人框架,以抓取之间的已知字符串之间的日志文件。我想用它来获取变量(比如IP地址),通过我的测试计划传递它们。
示例日志:(请注意不同的时间戳,我无法控制这些时间戳,开发人员似乎出于某种原因喜欢更改它们。)
2014-10-11T22:34:00.11 TCPConnect -在8030端口连接到192.168.21.139。 2014年-10-11 22:34:00.11 TCPConnect -在9718端口连接到devbox01。 2014-10-11 TCPConnect -在8712端口连接到devbox01.here.local.net。
如果我使用关键字'Get Lines匹配Regexp‘和regex:
(?<=.*Connecting to )(.*?)(?= on port .*)
我得到:
错误:后视需要固定宽度的图案。
我希望能得到IP地址、主机名以及“连接到”和“在端口上”之间的任何其他信息,但事实并非如此。我理解这与python2.6有关,显然2.7将包含此功能;我希望在当前版本中解决这个问题。
有人有什么想法吗?
发布于 2014-11-05 23:40:32
我不认为你需要在这里使用后视眼。这应该与给定的行相匹配:
| | ${lines} | Get lines matching regexp | ${data} | .*Connecting to .* on port.*
请注意,这将返回匹配的整行--它与模式无关,这就是该关键字的工作方式。即使添加捕获组或非捕获组,也会得到匹配的整行。如果您只想获得IP地址,则必须对返回的行进行一些额外的解析。
https://stackoverflow.com/questions/26768815
复制相似问题