51Testing软件测试论坛

标题: 关于get_time(); [打印本页]

作者: lonewolf    时间: 2005-4-6 09:09
标题: 关于get_time();
各位老大请了!

请问get_time()函数得到的是以秒为单位的时间,

不知道有没有什么函数可以得到以毫秒为单位的时间,

我们是做嵌入式开发的,要求的响应时间都在10-100ms以内

所以,WinRunner是不是不检测出来?
作者: pcl2004_27    时间: 2005-4-6 10:09
可以实现,你这样用Api函数实现!
代码如下,你可以封装成DLL使用!

提供思路如下:
SYSTEMTIME ti;
GetSystemTime(&ti);
////我们可以通过读取SYSTEMTIME结构体成员直接得到时间
typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;

你可以得到毫秒的时间!
作者: shyfish    时间: 2005-4-6 10:32
有个API函数,GetTickOut()(不知道是在哪个系统DLL里,自己找找吧),单位是毫秒级,两次GetTickOut()得到的值相减,即可得到时差。当然,如果自己写dll,应该用Timer也可以,只不过好像Timer更不精确。如果还要更精确的,可以用这个:QueryPerformanceCounter(),看到的,没用过,据说可以精确到微秒级:P
作者: 生如火花    时间: 2005-4-6 10:36
API是一个奇妙的世界。呵呵
作者: lonewolf    时间: 2005-4-6 11:14
Originally posted by shyfish at 2005-4-6 10:32 AM:
有个API函数,GetTickOut()(不知道是在哪个系统DLL里,自己找找吧),单位是毫秒级,两次GetTickOut()得到的值相减,即可得到时差。当然,如果自己写dll,应该用Timer也可以,只不过好像Timer更不精确。如果还要更 ...



这位哥,是GetTickCount()吗?
作者: 生如火花    时间: 2005-4-6 11:22
Declare Function GetTickCount Lib "kernel32.dll" () As Long
作者: shyfish    时间: 2005-4-6 14:06
啊,不好意思,敲错了:(
作者: wiko2000    时间: 2007-5-22 14:53
标题: 先看下
有没有完整的用法....提供一个谢谢....
作者: fengxueren    时间: 2007-5-31 12:46
Declare Function GetTickCount Lib "kernel32.dll" () As Long 是在qtp中的声明方法
在winrunner中,应该为

load_dll("kernel32.dll");
extern long  GetTickCount ();

然后就可以用GetTickCount()这个函数了
作者: dionysus    时间: 2007-5-31 16:54
ls的方法很好。最近也在看WR调用系统API的一些东西,发现这样对WR的使用将会是一个很大的拓展,会是一个新的研究方向(虽然老外早几年都已经讨论滥了,但我们在这方面的经验积累还是很少,知耻而后勇吧)
作者: huco7    时间: 2007-5-31 17:05
学习中......




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2