考虑这个脚本:
SystemUtil.Run "notepad.exe"
With Window("Notepad")
.WinEditor("Edit").Type "A"
.WinEditor("Edit").Type micReturn
.WinEditor("Edit").Type "B"
.WinEditor("Edit").Check CheckPoint("Edit")
End With
“编辑”检查点只检查“编辑”WinEdit是否包含“A”,CR,LF,“B”。 (这正是编辑器所包含的内容,您可以通过查看GetROProperty ("Text")
进行验证,它会返回长度为4的字符串,其中包含ASCII 65,13,10,66,这正是我所期望的。)我可以在录制脚本并通过活动屏幕click-o-magic插入检查点后,轻松创建此类检查点。
但现在假设我想参数化预期的字符串。
由于我无法在数据表单元格中输入换行符,因此我会将预期的字符串转换为正则表达式,例如"A\cM\cJB"
。无论我是否将该正则表达式放入数据表中,它都不匹配。为什么?
或者还有其他方法可以参数化包含换行符的预期字符串吗?
另见问题QTP: How do I get the "complex value" edit control in the checkpoint property edit dialog?。
答案 0 :(得分:2)
事实:
\cM
和\cJ
,
未按预期方式处理。支持建议将公式放入数据表中,以提供所需的字符串,例如“="A"+Chr(13)+Chr(10)+Chr("B")
”。
我觉得这很令人愉快。
所以再一次,我回答了我自己的问题,但不是为了获得尊重点(我会获得任何收益吗?),而是与每个人分享“解决方案”或解决方法。
使用的QTP版本是10.00。