qtp函数库中函数调用问题
在flight程序测试中,将测试脚本写入函数库中进行调用。SystemUtil.Run Environment.Value("ProductDir") & "\samples\flight\app\flight4a.exe"
Dialog("Login").WinButton("Help").Click
capture() '点击help按钮,截图
hint1 = Dialog("Login").Dialog("Flight Reservations").Static("outlook").GetROProperty("text") ' hint1=提示框中的语句
Ifhint1 = "The password is 'MERCURY'" Then
f1.writeline("出现帮助界面! " & hint1 & " 测试正确! " &filename)
这里的截图函数能够截取桌面图片,但是定义的截图路径filename却取不出来。
If len(username)<7 Then
username=username&space(7-len(username))
end If
If len(password)<7 Then
password=password&space(7-len(password))
End If
If len(hintbook)<46 Then
hint_msg =hint_msg&space(46-len(hint_msg))
End If
f1.Writeline( username & "##"&password &" ## " & hint_msg&" ##"&expect&" ## "&explain&" ## "&filename)
如果把上面的控制字符串长度写成函数库中的函数调用,输出结果无法对齐。
但是将代码直接写在action中调用能够正常对齐写入。 1. 首先,这个代码是你自己写的吗?我想应该不是,不知道是从哪里抄来的。
里头的capture不是QTP提供的built-in函数,所以这个函数应该是放在某个地方,需要倒进来当前的运行环境。一个如果你要截取全屏的正确写法是Desktop.CaptureBitmap fileName, True这里的fileName你需要提供一个具体的值。
2.不能对齐的原因可能是你的输入的数据有空格。你可以在使用username和password的地方,都使用trim(username)。
3.编码风格真tm烂 截图函数式封装在函数库中的,现在是被同在函数库中的testhelp函数调用
整个action中只有:
dim filename
call testhelp()
这两句。
Public Function capture()
Dim datestamp
datestamp = Now()
filename = Environment("TestName")&"_"&datestamp&".png"
filename = Replace(filename,"/","")
filename = Replace(filename,":","")
filename = "e:\"&"picture\ "&filename
Desktop.CaptureBitmap filename
End Function
能够正常的截取图片,但是不能将filename写入txt文件中。
如果在action(testhelp)中直接调用截图函数,可以得到filename。
PS:新手上路,编码风格确实烂,亟待提高!
但这个代码肯定是我写的,抄也抄不到这么差的代码。
页:
[1]