51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7320|回复: 11
打印 上一主题 下一主题

[原创] 如何获取服务器时间!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-1-24 11:37:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个ERP系统 B/S架构,比如销售订单,销售订单上有单证号码、客户、单证创建日期、单证创建人等字段
浏览器端:,点击“新增”按钮就可以新增一个空白的销售订单,创建日期字段默认为web服务器时间。
我录制脚本的时候:脚本中:<EDT>2008-01-23T13:53:51.0000000+08:00</EDT>,这是关于创建日期这个字段的。
销售订单保存后,创建日期这个字段在数据库中显示为:2008-01-23 13:53:51.000。
问题是:我怎么样编辑脚本才能使“创建日期”这个字段每个VUser都能实时获取服务器时间
我的方法一
是:在新增销售订单之前,使用一个关联:
代码如下:
         web_reg_save_param("CreateDate",
                 "LB/IC=<EDT>",
                 "RB/IC=</EDT>",
                 "Ord=1",
                 "Search=Body",
                 "RelFrameId=1",
                 LAST);       

然后修改脚本<EDT>{CreateDate}</EDT>,这样并不能获取正确填写


方法二:不使用关联
直接进行参数化:CreateDate1:DateTime 类型、%Y-%m-%d %H:%M:%S.000 Format
然后修改脚本<EDT>{CreateDate1}</EDT>
这两种方法都不能得到结果
哪位达人指点迷津
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-1-24 11:59:39 | 只看该作者
在server response中是什么样的?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-1-24 12:16:43 | 只看该作者

回复 2# 的帖子

这是客户端发出新增单证时的请求语句
web_custom_request("Data.rtl_3",
                "URL=http://192.168.100.56/RTWebserver/Carrier/Data.rtl",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://192.168.100.56/RTWebserver/WUIPagesTemp/List_UdocItem_8da9f36bfb274f9a9ad2fe242602a216/SingleIndex.htm",
                "Snapshot=t73.inf",
                "Mode=HTML",
                "EncType=text/xml; charset=gb2312",
                "Body=<root><action>CreateNewData</action><funcId>8da9f36bfb274f9a9ad2fe242602a216</funcId><findModelStyle>ByID</findModelStyle></root>",
                LAST);
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-1-24 12:25:16 | 只看该作者
获取系统时间的cs
using Common.Culture;
namespace ExpressionFunction
{
        /// <summary>
        /// 当前系统时间
        /// </summary>
        public class SystemDateTime : FunctionBase
        {
                public SystemDateTime() : base(string.Empty)
                {
                }
               
                protected override void SetCalculateValue()
                {
                        result.ResultValue.strValue = System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss");
                }

                public override string ToString()
                {
                        return Language.ExpreFunc_SystemDateTime;//"系统时间";
                }
        }
}
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-1-24 13:36:08 | 只看该作者

zhufc.cn 回答如下

方法二:如果获得的时间也是本地的时间,不是服务器的时间.

如果使用方法1,那就要在ERP程序中处理,将时间用包发过来!

我告诉你一个简单的办法:使用去取数据库的时间,直接访问数据库,使用时间函数(应用程序和数据库同机);
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-1-24 14:12:49 | 只看该作者

回复 4# 的帖子

能否说得再明白一点,我怎么取数据库时间!怎么进行!大虾指点
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-1-24 14:22:22 | 只看该作者
我是说server response的格式,你可以直接关联下来,然后对字符串进行操作。
如果这个值是已知的,你直接做参数化应该也可以的。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-1-24 14:33:21 | 只看该作者

回复 7# 的帖子

这个时间时从服务器中进行取值,为web服务器的时间阿!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-2-15 19:08:17 | 只看该作者
你感觉你可以这样: lr_save_string(lr_eval_string("{parea}"),"temp");
  <EDT>{temp}</EDT> 这样可以吧!?我试下了//
  
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-3-25 18:54:20 | 只看该作者
用Zee的方法可以直接获得服务器时间,进行关联使用web_reg_save_gram()
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-3-26 10:34:13 | 只看该作者
原帖由 Zee 于 2008-1-24 14:22 发表
我是说server response的格式,你可以直接关联下来,然后对字符串进行操作。
如果这个值是已知的,你直接做参数化应该也可以的。

弱弱的问一下Zee,你说的Serrver response格式是什么意思?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-3-26 11:29:58 | 只看该作者
就是从服务器返回的值得方式
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 01:41 , Processed in 0.073455 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表