发布新日志

  • LoadRunner安装时遇到的问题

    2010-06-12 16:06:56

    LoadRunner安装时遇到问题,第一次装,边装边报错。

    原因:LoadRunner的安装程序放置目录包含中文,所以在安装是报错。

    以下是在网上找到的资料,收着,以后在遇到安装和卸载的问题可以查阅
     
    LR在安装和卸载问题上的一点总结(转帖)

    在安装 Loaderunnner 过程中也许你经常遇到,提示无法安装的情况,我也遇到过相关问题,于是查阅了相关资料,总结了一下,好东西不敢独享,拿出来和同行一起交流
    (一) 提示:" the link file .... may be corrupted or has illegated link string "的,提示重复多次均无法安装。
    原因 :你的 Loaderunner 的安装文件夹名写成中文了,造成 Lr 的安装教本无法识别路径,最终导致不断有这样的错误提示。
    解决方案:把安装文件的目录名改为非中文就可以了。
    (二)  没法完全卸载
    要想把 LR 的老版本完全卸载,正确的步骤是:
    1.  停止所有的运行的 LR 的进程和服务( including the Controller, VuGen, Analysis , or the LoadRunner Agent Process/Service )
    2.  备份已有的脚本,你的脚本有可能在你的默认安装路径下
    3.  在控制面板的添加删除程序中,删除 LR ,并重启机器
    4.  手动删除所有 LR 的文件夹,包括您的开始菜单里的 LR 快捷方式
    5.  如果你的版本是 6.0 系列的,删除 Borland 文件夹(通常在 C:\Borland or C:\BDE  目录下)
    6.  搜索    wlrun.* 、    vugen.* ,除了安装文件夹中的文件,其他的都删除
    7.  打开注册表,找到
    如果只安装了 MI 公司的 LoadRunner 这一个产品,请删除:
    HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive
    HKEY_CURRENT_USER\SOFTWARE\Mercury Interactive
    否则请删除:
    HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner
    HKEY_CURRENT_USER\SOFTWARE\Mercury Interactive\LoadRunner
    删除所有和 LR 有关的数值,除了你的 License2 或 License。
    8.  清空回收站
    实现以上步骤后,即可放心安装了,切记在重装后,一定要重启机器,因为一些必要信息要写入注册表。
    (三)  卸载后 , 执行安装过程时出现" license security violation.Operation is not allowed "提示信息 , 安装失败
    解决方案:
    1.  进入一台 Loadrunner 运行正常的电脑(安装路径要和你的相同)进入注册表,导出以下两个目录:
    HKEY_CURRENT_USER\Software\Mercury Interactive
    HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive
    2.  回到刚才安装不成功的电脑 , 进入注册表导入刚才这两个文件。
    3.  再次执行安装。
    建议:如果有用 Ghost 提前做 Ghost,或者为系统设置还原点。
  • LoadRunner动态访问Oracle数据库

    2010-05-04 13:59:02

    本次测试中遇到的问题

    一、LoadRunner9.0动态访问Oracle数据库


     #include "lrd.h"


     static LRD_INIT_INFO lnitlnfo = {LRD_INIT_INFO_EYECAT};

     static LRD_DEFAULT_DB_VERSION DBTypeVersion[] = {{LRD_DBTYPE_NONE,LRD_DBVERSION_NONE}};

       //这里的LRD_VAR_DESC数据结构声明是很重要的,他是用来存储sql结果数据集的结构体,第一个参数头文件中就是这么写的,第二个参数是最 大行数,第三个参数是每一行的最大长度,如果获得的查询结果比定义的长,运行时就会报错,提示列被截断,最后一个参数是查询结果的类型,可以再帮助中的索引输入data types, database,列出的表格中是各种变量类型的名称

     static LRD_VAR_DESC OBJECT_NAME_D1;

     static LRD_VAR_DESC NUM ={LRD_VAR_DESC_EYECAT, 10, 32, LRD_DBTYPE_ORACLE, {1, 1, 0},DT_LONG_VARCHAR};

        //定义初始化数据库的各种变量

     static void FAR * OraEnv1;

     static void FAR * OraSvc1;

     static void FAR * OraSrv1;

     static void FAR * OraSes1;

     static void FAR * OraStm1;

     static void FAR * OraDef1;

     static  unsigned long uliFetchedRows;

     unsigned long     rownum;

     //初始化数据库

     lrd_init(&lnitlnfo, DBTypeVersion);

     lrd_initialize_db(LRD_DBTYPE_ORACLE,3,0);

     lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1,0,0);

     lrd_ora8_handle_alloc(OraEnv1,SVCCTX,&OraSvc1,0);

     lrd_ora8_handle_alloc(OraEnv1,SERVER,&OraSrv1,0);

     lrd_ora8_handle_alloc(OraEnv1,SESSION,&OraSes1,0);

     //连接数据库,我的是oracle,odbc中连接数据库名称就是这个

     lrd_server_attach(OraSrv1,"数据库名",-1,0,0);

     lrd_ora8_attr_set_from_handle(OraSvc1,SERVER,OraSrv1,0,0);

     //用户名和密码

     lrd_ora8_attr_set(OraSes1,USERNAME,"用户名",-1,0);

     lrd_ora8_attr_set(OraSes1,PASSWORD,"密码",-1,0);

     //初始化连接session

     lrd_ora8_attr_set_from_handle(OraSvc1,SESSION,OraSes1,0,0);

     //开始连接数据库

     lrd_session_begin(OraSvc1,OraSes1,1,0,0);

     lrd_ora8_handle_alloc(OraEnv1,STMT,&OraStm1,0);

     //设定sql语句

     lrd_ora8_stmt(OraStm1, "select XXX from XXX", 1, 0, 0);

     //执行sql语句,并且将结果行数返回到rownum中

     lrd_ora8_exec(OraSvc1, OraStm1, 0, 0,&rownum, 0, 0, 0, 0, 1);

     //绑定该列

     lrd_ora8_bind_col(OraStm1,&OraDef1,1,&NUM,0,0);
    //设定保存列中的某个数据到row中,第二个参数为第几列,第三个参数为第几行(只能保存一个值),最后一个参数就是你想要保存到的parameter名称

     lrd_ora8_save_col(OraStm1, 1, 1, 0, "resu1");

     lrd_ora8_fetch(OraStm1, -2, 2, &rownum, 0, 2, 0, 0);

     lr_error_message("sql result: %s", lr_eval_string("{resu1}"));

     

     //释放连接数据库的各种变量

     lrd_handle_free(&OraStm1, 0);

     lrd_session_end(OraSvc1, OraSes1, 0, 0);

     lrd_server_detach(OraSrv1, 0, 0);

     lrd_handle_free(&OraEnv1, 0);


     (1)首先要安装oracle客户端,通过客户端连接oracle数据库。如果不装数据库客户端会报错,如下:illegal character `\0241'

     (2)写访问oracle数据库的脚本用oracle(2-tier)+web协议新建脚本,否则执行时会报错,如下:Error -- Unresolved symbol : lrdfnc_init
     然后将录制的脚本拷到写好的访问oracle数据库脚本中。

     (3)数据库连接不上
     Action.c(47): Error: lrdo_server_attach: "OCIServerAttach" return-code=OCI_ERROR, error-code=12154:
     Action.c(47): Error:     ORA-12154: TNS: 无法解析指定的连接标识符
     Action.c(47): server_attach: ERROR, return-code=LRDE2009.  ServerHandle=OraSrv1, ServerID="XXXX"

     (4)sql语句错误,报如下错误
     Action.c(81): Error: lrdo_ora8_fetch: "OCIStmtFetch" return-code=OCI_ERROR, error-code=24338:
     Action.c(81): Error:     ORA-24338: 未执行语句句柄
     Action.c(81): lrd_ora8_fetch: ERROR, return-code=LRDE2009.  StmtHandle=OraStm1, 0 row(s) fetched


     (5)如果用controller执行涉及好的脚本报如下错误:you do not have a license for this vuser type please contact mercury interactive to renew your license
        解决方案:原因是由于目前使用的License不支持Socket场景运行,将License替换一下就可以了。
        使用的License也就是目前网络上比较通用的两个:
        global 100user:AEAMAUIK-YAFEKEKJJKEEA-BCJGI
        10000 web clients:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
        一开始使用的10000 web clients的,出现该问题,后来替换成global 100 user 就可以了。具体视情况而定。


    二、多协议录制脚本,协议web(http/html),ie打开后没有反应了
       在recording options中advanced里选择support charset utf-8

    三、多协议录制脚本,协议web(http/html),ld根本没反应
        修改ie设置,工具-高级,把启动第三方浏览器扩展(需要重启动)

    四、单协议录制脚本,系统中有些东西出不来
        原因:客户端安装了插件,插件会向服务器发送请求

    五、nmon分析AIX和Linux性能的免费工具,LoadRunner监控unix有些参数的性能监控不到

  • 穷人身上的52块泥巴

    2007-06-14 09:48:59

    大鱼吃小鱼,小鱼吃虾米,虾米吃泥巴,穷人就是泥巴,处在食物链的最末端。 
      但是穷人却是整个生态的基础,没有泥巴就没有虾米,没有虾米就没有小鱼,没有小鱼大鱼也活不了。 
      泥巴是最贱的,春天来了,万紫千红,泥巴的身上只是多了些踏青的脚印。冬天来了,寒风呼啸,泥巴又成了生命的庇护所,草根藏在泥土里沉睡,动物躲在土穴里冬眠,泥巴则裸露着,默然承受。 
      热闹从来与泥巴无关,正如所谓的主流和穷人无关一样,世界上只要发生了灾难,无论是天灾还是人祸,受害最深的都是穷人,而有利可图的好事,总是被富人们捷足先登。 
      泥巴是渺小的。花市上,从森林里挖来的熟土,加了这土就不用上肥的,真正是肥得流油的好土,也不过一两元一斤,而被它滋养着的花木,谁个又只值这点小钱呢?但是离开了泥土,花木又能够生长吗?万物生长靠太阳,万物生长也靠泥土。太阳已经受过了太多的礼赞,泥土却至今默默无闻。 
      穷人是渺小的,多一个少一个确实无关紧要,但整体的穷人却是社会的基础,没有穷人谁都活不好。 
       
      大鱼吃小鱼,小鱼吃虾米,虾米吃泥巴,穷人就是泥巴,处在食物链的最末端。

    穷人是资源

      这个世界上,并不是富人拯救了穷人,离开了富人地球就不转。恰恰相反,穷人才是社会的经济基础。 
      穷人是个庞大的群体,他们的衣食住行,他们的文化娱乐,他们的种种活动,造就了社会的种种需求。穷人并不只是劳动力,他们既是生产者,也是最终的消费者,穷人也是个大市场,也让资本垂涎三尺。如果让所有穷人一夜之间在地球上消失,不仅不可能有经济的繁荣,就连地球也将变得荒芜。 
      穷人也是一种资源,和石油,和森林,和人民币一样宝贵。虽然资源是被利用,被享受的,主宰不了什么,但是它本身的价值却让人不得不珍惜。 
      穷人是富人的劳力和市场,穷国也是富国的产品倾销地和原料提供者,很多时候,连加工的程序也在本地完成,利润却被富人赚走了,用你的原料、劳力和市场,赚了你的钱,他还对你一脸鄙视,还声称是他提供了就业机会,你还对他感激零涕! 
      穷人是一盘散沙,就像股市上,散户手里的钱全部加起来,肯定超过任何一个庄家,但他们不可能加起来,所以庄家才会成为庄家,兴风作浪,把散户的钱赚走,还让散户佩服不已。 
      我们的社会老是用崇敬的目光,看着富人把一点点小钱施舍给穷人。而实际上,这不是富人的心灵崇高,而是他们懂得整个社会就是一个生物链,取之于民,用之于民,通俗点说,就是羊毛出在羊身上,要是世上没有了穷人,富人的日子也没法过。 
      据说,在咱堂堂的京都,外地人回家过年,牛奶没人送的消息,在北京市的人代会上也成了代表讨论的话题。北京市职业介绍服务中心某主管说:北京人择业要求比较高,工作要轻松点,收入要高点,离家要近点,最关键还要体面点。高,实在是高!北京人只能干大事,不愿做小工。你想想京城人能给你擦皮鞋,给你拉车吗?骆驼祥子,那是外地人,暂住户口!北京的爷们儿有福气,可没有那些满街跑流臭汗的外地人,这福气能享得了吗? 
      穷人富人相辅相存,实际上国际社会是最能掌握这种法则的,所以才常常有富的国家减免穷国的债务,或者提供经济援助之类的事。同在一个星球上,如果没有了穷国,富国剥削谁去?掠夺谁去?还怎么扩张?怎么发展?就像人类也学会了保护自然,地球上如果没有了低等动物,高等动物们可不仅仅是寂寞的问题。 
      穷人也是富人的生存环境,穷人也是一种宝贵资源。所以穷人接受富人的帮助,也不要太感恩戴德,你完全可以不卑不亢,坦然受之!本来,富人的钱就是从你那里拿去的,再回馈一些给你,也是应该。 
       
      同在一个星球上,如果没有了穷国,富国剥削谁去?掠夺谁去?还怎么扩张?怎么发展?就像人类也学会了保护自然,地球上如果没有了低等动物,高等动物们可不仅仅是寂寞的问题。

    穷人被支配

      从道理上讲,一个人挣再多钱,一天也只吃得了三顿饭,睡觉也只需要一张床,可是为什么还是会那样没有止境地追求财富,永不满足呢?这恐怕不仅仅是贪婪。 
      有个电视片,名叫少壮海狮的什么,最后两个字忘了,我想应该叫暴动吧,如果让我来取。这个片子讲的就是在海狮的繁殖季节,众多的海狮来到一个小岛,通常一只壮硕的成年雄海狮拥有几只成年雌性以及子女,他们聚在一起,俨然一群财主,领着各自的妻妾,悠闲地晒着太阳,一幅安居乐业的样子。 
      突然,一只雄海狮发现海上有些异动,别的雄海狮也发现了,岛上的财主开始不安,警惕地注视着海面。海面上一片密密麻麻的小黑点,越来越近了,渐渐看清,是另一些海狮的脑袋。 
      这是些更加年轻的海狮,雄性,他们还没有成家立业,还没有讨到老婆,现在向着这个小岛浩浩荡荡来了。 
      这时你就会领会到片子的名字取得多么的好!什么叫少壮?就是浑身是胆雄纠纠那种,他一无所有,他要去找人决斗。老海狮的危机感不言而喻。 
      那一片密密麻麻的脑袋,在海岛附近涌动着,老海狮也离开妻儿,来到临海的岸边严阵以待。双方对峙,一方躁动,一方凝重,事情是肯定会发生的,大家都在等待。 
      突然,也不知是什么信号,海里的少壮一齐向岸上扑来,真个是血雨腥风啊,接下来的一场大战,直咬得天昏地暗,有的财主殉难了,有的少壮牺牲了,妻儿有的被掠走,有的挤在岩石上,等待答案。 
      片子的结尾,海面复归平静。少壮们离开了,有的交配成功,留下了自己的基因,有的白激动一场,还得再等明年。 
      旁白:一年一度,同样的事情都在这里发生。 
       一部动物的片子,可以看作是人类的寓言。 
      动物最重要的事情只有两件,一是自己的生存,二是传宗接代。这两件事都是需要占有资源的,只有尽可能多地占有资源,才能保证自身和后代的繁荣。 
      这是一种本能!没有这种本能的,只有被淘汰,留下来的都有。 
       所以人不可能不贪婪。 
       如果说动物对资源的认识还仅仅局限在食物和异性,那么对人来说,资源的外延已经扩展到无限,从有机物到无机物,从有形的物体到无形的意识,包括知识、思想、信息等等,连地球都不能满足人的欲望,人类的触角已经在向太空延伸。同时,因为财富是人创造的,人本身也成了资源的一部分,而且是最重要的部分。 
       你愿意成为别人的资源呢,还是成为支配资源的人? 
       人不满足于自己的处境,往往不是因为一日三餐吃得不饱,而是不甘心于被人支配,他们也想有更多的地盘,更多的资源,也想有更多的支配权。 
      财富也是一种权力,不仅让人身体受用,更加让人精神满足。 
       人类社会中拥有在一定范围内的支配权的人,大概可以称为老板,或者称为官,就是俗称头儿的。他们就象动物的头领,地盘越大,支配权越大,生命就越成功。 
      为什么有人宁做鸡头不做凤尾?一只鸡虽渺小,但五脏六腑俱全,是一个独立的生命,拥有独立的鸡格,鸡头可以决定一只鸡的生活方式。而凤尾不过是高级附庸。虽然一个大公司的部门经理往往比小公司的董事长风光,但凤尾只占据配角位置,受制于凤头,服务于全体,固然也有它的作用,却并非举足轻重。 
      人人都想当头,不管是鸡头还是凤头,世界才永远充满斗争。这也是自然规律。 
       
      财富也是一种权力,不仅让人身体受用,更加让人精神满足。人人都想当头,不管是鸡头还是凤头,世界才永远充满斗争。 

    穷人难自保

      穷人只有一个破碗,富人有一大堆财产,一般人就总以为富人更容易蚀财。殊不知阎王不嫌鬼瘦,要饭的、拣破烂的,手里攥半个烧饼,还有可能被比他更饿的人抢去。穷人钱少,但防护也差。每个城市都有不少高尚小区,里面有的是富豪,但人家那里又是铁门固守,又是保安巡逻,又是红外线监控,歹人下得了手吗? 
      大城市里,没丢过自行车的人很少,但丢过汽车的人倒是不多,丢一辆汽车就是大事,就得惊动很多人,最后没准就破了案,就算找不回来,损失还有保险公司担着,也伤不了他多少筋骨。可丢一辆自行车,谁管!对于穷人来说,一辆自行车也是一笔不小的财富呀! 
      古时的皇帝在宫里闷久了,也想出去换换空气,享受享受常人的自由,于是扮成平常百姓,美其名曰微服私访。穷人听说了,不免有些自慰,咱穷是穷点,但无牵无挂,让皇帝也羡慕呀。 
      可是他忘了,他的牵挂其实具体得很,穷人的生存环境远比富人恶劣。皇帝就算是换了衣服,左右也是一大群保镖,还有一个管家,口袋里永远装着充足的银两。他怀着那份新奇的兴致,无忧无虑去体验所谓民间疾苦,就像现在的城里人,带着瑞士军刀、防毒面具、还有指南针、矿泉水,去离城二十里的乡间感受苦难一样,尽管在农家吃了一顿粗粮,只不过是帮助消化而已。 
      穷人的难处只有穷人自己知道。在混乱无序充满暴力的环境中生活久了,穷人也有了自己的处世哲学。 
      穷人往往不相信法律,制度是死的,但执行制度的人是活的。从理论上讲,制定法律是为了维持秩序,保护弱者,但实际上法律往往对富人有利。富人可以用钱的力量去影响执行制度的人,有钱能使鬼推磨,法律在富人眼中变得亲切。 
      富人破坏法律的公平,穷人则对法律失去信心,甚至根本没有法律的概念。在穷人心目中,实用主义的价值观是根深蒂固的,成者为王败者寇,只看结果,不管手段。所以穷人中的暴力尤其可怕,有一种典型的抢劫方式是,先照准脑袋,狠狠一砖头抡去,砸死再说。其实这个人的口袋里也许只有几元钱。但这是一条命呀! 
      财产少顾虑就少,顾虑少胆子就大,胆子大许多罪恶的念头就得以实施。每个城市的贫民窟都是社会秩序最混乱的地方,但穷人只能呆在那里。 
      人为财死,财富往往是灾难之源。但翻开报纸的社会新闻,你会发现被谋财害命的,更多的却是穷人,那被谋掉的区区小财,在富人看来简直可怜,但事实就是如此。 
      穷人可怜,穷人的自保远比富人更难。 
       
      财产少顾虑就少,顾虑少胆子就大,胆子大许多罪恶的念头就得以实施。

    穷人容易上当

      街头骗子常常把目标对准老人和穷人,很难想象一个富人会被那些阴暗角落里猜扑克的、套圈的、换美元的、卖祖传古董的等等神神秘秘的人所诱惑。 
      人之所以上当,总是有所贪,有所图,或者有所惧,真正的富人,都有自己的财富来源,不必对这些飞来横财想入非非;真正的富人,大多也是久经沙场,通达世事,早就炼出了火眼金睛,不然他的财富何以能够聚集,又何以能够留存? 
      报刊上常常有各种致富发财小广告,告诉你不需太多的钱,不需太精的手艺,也不用跑市场,只要坐在家里捣鼓捣鼓,这财就发了。世界上哪有这么好的事!这些专为穷人设计的圈套,只有阅历不深又急于发财的穷人,才会心甘情愿往里钻。 
      这个世界上遍地都是聪明人,如果存在一个收益很高而风险又小的行业,不用谁去号召,大家都会蜂拥而上,其结果是这个行业很快饱和,收益率立刻下降。资本是流动的,就像江河湖海,无论底下如何高低错落,水面总是平的。 整个社会的财富流动也是如此,无论任何行业,投资收益率终会趋向一个平均数值。 
      一件事如果能赚很多钱,却一直没有人来竞争,只能说明这里面风险太大,让别的资本望而生畏。坐享暴利的事是不存在的,风险和收益总是成正比。 
      其实任何一个骗局都有漏洞,你只要仔细研究,就会发现整个事情当中,总有一些你控制不了的因素存在,而且都是关键环节,一出问题就会致命。这正是别人的精心策划!穷人却被虚幻的美好结果所诱惑,而将其中的风险忽略了。 
      穷人没有在资本市场上滚打过,不知道资本的特性是唯利是图,他以为人家是发善心,是来解放他的,一激动就忘了自己也是在投资,拿出的钱虽然不是天文数字,却也是辛辛苦苦攒了一辈子的,几乎就是他的全部家当。 
      一个亿万富翁,如果也拿出全部家当,也就是上亿的投资了,他能不认真考查论证,得出完善的方案再下手吗?穷人却是想当然,脑子一热就投进去,等到发现上当,人家早已人去楼空,你除了呼天抢地还能怎样! 
      穷人的原始积累本来就难,这样的当一辈子上一次,可能就再也翻不过身来了。   
      真正的富人,都有自己的财富来源,不必对这些飞来横财想入非非;真正的富人,大多也是久经沙场,通达世事,早就炼出了火眼金睛,不然他的财富何以能够聚集,又何以能够留存? 

    穷人是颗螺丝钉

        
    穷人因为自身的卑微,缺少安全感,就迫切地希望自己从属于什么,能和很多人在一起,变成一个庞大机构中的一员,就像寒冷中的鸟儿,挤在一起彼此取暖。穷人更需要自己的组织,自己的单位和团体。 
      当他成了某个团体的一员后,常常就产生了很深的依赖感,生怕失去这个靠山,自己就会像一片羽毛漂泊不定。于是他们以这个团体的标准为自己的标准,掩藏个性,牺牲爱好,让自己的一切合乎规范,为团体的利益而工作,奔波,甚至迁徙。对于穷人来说,在一个著名的企业里稳定地工作几十年,由实习生一直干到高级主管,那简直是美妙得不能再美妙的理想了。 
      ——呵呵,这正中了富人的计! 
      那些团体的领导者通常都是富人,他们总是一方面向穷人灌输:团结就是力量,如果你不从属于自己这个团体,你就什么都不是,一名不文。但另一方面,他们却从来没有停止过招兵买马,培养新人,以便随时可以把你替换。 
      如果你在一个大企业工作,企业就是你的全部了,而你却只是企业的一部分,一颗小小的螺丝钉。人事部是干什么吃的?培训部难道只是摆设?他们的工作就是随时准备着,为企业提供最优质的螺丝钉,一旦哪颗螺丝钉生锈,甚至只有生锈的迹象,也将立刻拔掉,绝不手软。他们个个心明眼亮,说到底,他自己也是颗螺丝钉,也必须在自己的位置上闪闪发光。 
      穷人永远是被动的,哪怕你闪亮一时,命运也不过如此。   
      穷人因为自身的卑微,缺少安全感,就迫切地希望自己从属于什么,能和很多人在一起,变成一个庞大机构中的一员,就像寒冷中的鸟儿,挤在一起彼此取暖。 

    富人掌握话语权

      永远要记住,话语权在富人手里!一个社会的游戏规则是富人制定的,评判标准也由富人掌握。 
      一个穷人永远也不可能去指导富人怎样致富,怎样过上好日子,哪怕他说的都是真理,也无人会听。 
      当一个社会的经济基础已经形成,主流社会就是那些经济上的优势群体。权力一定是与经济利益联系在一起的,一个人哪怕掌权之前是穷人,掌权以后也会步入富人的行列。这时你再期望他为穷人说话是不现实的,他骨子里已经在维护既得利益了。 
      一个社会的游戏规则既然是由富人制定的,那就必然对穷人不利,穷人要想胜出,可能性就微乎其微。于是穷人就想自己来制定规则,冲突就产生了,革命就爆发了,有的人真的就掌了权,但很快他也变成了富人,他的规则又对新的穷人构成威胁,社会历史就是如此循环下去的。 
      一个穷人永远也不可能去指导富人怎样致富,怎样过上好日子,哪怕他说的都是真理,也无人会听。 

    富人占穷人便宜


      富人经常要占穷人的便宜,因为他富,就更有占便宜的条件。 
      比如,穷人爱买彩票,而卖彩票的钱假设都投入公益事业了,就假设是修了一座现代化体育馆吧!然而,到体育馆看球赛、看演出都是要花钱的,穷人绝不会因为当初买过体育彩票就义无反顾地加入到现场喝彩的人群中,结果有钱和有闲去欣赏的还是富人,穷人只是守着电视看看转播而已。 
      北京有个回龙观文化居住区,据说是全国最大的经济适用房小区。顾名思义,里面住的都是穷人。然而当记者暗访时却发现,小区里停满了桑塔纳、捷达、奥迪、富康,甚至还有奔驰。 
      盖经济适用房是为了让中低收入者买得起,国家的地租减免了,税收优惠了,房价也降低了,但是最终住进去的却并不都是穷人。政策总是要靠人来执行的,执行的人又总是有趋利的本能,所以哪怕国家有明文的限制,经济适用房只能卖给年收入6万元以下的家庭,但开发商还是怎么赚钱怎么卖。一个真正的穷人可能要花一辈子的积蓄才能买一套这样的房子,而一个富人轻轻松松就可以买上好几套,当穷人还在努力解决安身问题时,富人想的已经是投资了。 
      在上海,一位公务员花了一生积蓄买到一套经济适用房后,发现楼上几套房子卖给了一位大款,这位大款并不住这里,而是把房子出租给别人住了。这事最终被上海的一位政协委员捅到了两会上,使得另外的委员也义愤填膺,提出我国应建立住房面积上限制度,限制富人占有大量房产,防止贫富过度分化。 
      委员们的心是好的,但是富人的房产你限制得了吗?全国有那么多的积压房,有那么多的开发商,买方市场,现金为王,富人有钱还怕买不到房产? 
      房产其实也是一种资源,委员们的提议是有道理的。开发任何房产都必须先取得土地使用权,国家通过出售土地得来的钱,如果用于投资,每个老百姓都可以受益。现在地租减免了,税收优惠了,国家收入减少了,穷人利益受损了,如此代价换来的便宜房子,却被富人拥有了,穷人真是两头失落。 
      不仅是房子,在其它资源的占有上,情况也是一样的,富人从来不会礼让三先,穷人也没法和他争抢。富人有钱,就可以买一只下金蛋的母鸡,而穷人就算这只鸡飞到你面前,你也没办法抱走。 
      有钱的人更有钱,贫富分化是一种必然。 
       
      富人从来不会礼让三先,穷人也没法和他争抢。富人有钱,就可以买一只下金蛋的母鸡,而穷人就算这只鸡飞到你面前,你也没办法抱走。 

    穷人志短

      京城有个房地产老板说,中国的建筑师很容易改变立场,一个方案,开发商让他怎么改他就怎么改,生怕老板不满意,就拿不到这单生意了。而外国的建筑师,特别是著名的大建筑师却很固执,他宁肯不做这单生意,也绝不轻易改变自己的设计,哪怕只是一个细节。 
      其结果就是外国大建筑师留下的是更加完美更加个性化的作品,因而也名气更大,要价更高,生意更兴隆。中国建筑师却把自己降到开发商的水平,难免生产出一些平庸粗俗的城市垃圾。作品的层次低了,人的档次也就低了,想要高价更不可能了。结果凡是有大的项目,还是让老外抢去,眼睁睁看着别人挣大钱,自己干瞪眼。 
      这就是穷人和富人的区别! 
      不是中国的建筑师没有个性,而是他们太需要人民币。如果建筑师还在为区区一点设计费而呕心沥血——据说外国设计师的收费大约是中国同行的十倍——没有这单生意就有可能饿死,他是在为生存奋斗,而不是为艺术献身,在老板面前他还能有什么脾气?! 
      献身是可以的,也是伟大的,但献身的前提是身还在,还是你自已的。如果肉身的存在都成了问题,献身就只是一句空话。 
      穷人的理想往往就是空话! 
      穷人没法不志短,人穷就必然受制于人,迫于生计,很多时候只能妥协,这一妥协又埋没了自己的才华,错过了发展的机会,最后只好随波逐流,一直穷下去。 
      穷人很难有长远的眼光,穷人是很难长大的。 
       
      穷人没法不志短,人穷就必然受制于人,迫于生计,很多时候只能妥协,这一妥协又埋没了自己的才华,错过了发展的机会,最后只好随波逐流,一直穷下去。

    钱往高处走

      据说世界上最穷的人是日本某富翁,他投资失败,欠债高达几十亿,别说身无分文,就是把他自己卖了,也还不上一个零头。但他每天照样出入五星级饭店,玩着穷人们一辈子都没听说过的花样,身后还跟着一堆保镖。据说是债主们一心指望他还钱,要还钱就只有东山再起,要东山再起,就必须绷住台面,要绷住台面就必须豪华,而且还要长命百岁——他要是提前死了,欠的一屁股债岂不是只有拿一盒骨灰抵消?还不如一盒味精来得实惠! 
      所以说,世界上最潇洒的事就是用别人的钱,不管胜负,你都是赢家。 
      真正的穷人听了可能就很愤怒,有那么多钱去亏,干嘛不分个零头给我,做点针头线脑的生意,赚不了大钱也不至于亏嘛!直骂那债主傻 
      但债主可不会领你的情,他有再多钱,也绝不会分出零头来给你,尽管你的小生意确实很赚钱。 
      在投资的问题上,穷人的算法和富人的算法不同。比如开一家面馆,收益率是100%,投入2万,一年就净赚2万,对穷人来说很不错了。但是一家面馆所能承载的资本只有2万,如果一个大老板有1亿资金,岂不是要开5000家面馆?这5000家面馆就是5000个投资项目,要一个一个管理好,大老板得操多少心,累白多少根头发呀?还不如投资宾馆,一个宾馆就足以消化全部1亿的资本,哪怕收益率只有20%,一年下来也有2000万利润啊! 
      大资金只会青睐大项目,钱往高处走,你越有钱,扯的摊子越大,就越有人要把钱给你。而且,你有钱,说明你有找钱的能力,这就是信用,就是你能让钱生钱的证明,如果有人要投资,他不找你找谁? 
      资本的眼光势利得很,穷人是不可能得到资本青睐的。既然没有资本,穷人得到钱的途径就只有劳动,而劳动所得的血汗钱,多半只够糊口。 
      穷人的钱永远只是生活消费资金,和资本的性质完全不同。没有资本,报刊上那些发财的故事,无论多么精彩,对穷人来说,就像一部武侠小说,闲来读读,不过是茶余饭后的精神体操而已。 
       
      世界上最潇洒的事就是用别人的钱,不管胜负,你都是赢家

    有钱的人更有钱

      全国十二亿人,如果每人给你一元,那是什么概念? 
      这样的好事也不是没人想过,理论上是可行的。但要收集到这每人一元,你必定得有一个合理的借口,也就是立项目;你还要让每个人都知道这回事,就需要做广告;你还需要人去为你收集,又必须招兵买马。诸如此类必要的开支,如果这一人一元里,付出的成本是一人五角,对不起,要收十亿,你得先付五亿出来! 
      你一听就吓得灵魂出窍了,就算滚动发展,类似于卖楼花,这样的生意也不是穷人能做的! 
      很多时候不是穷人太笨,穷人想到的事,再精彩自己也无法去做,就因为你的起点所决定。所以就算穷人有妙计,也只好把自己的妙计贡献给富人,成为富人的幕僚,或者去当策划大师,帮着富人赚穷人的钱,自己从中分一杯羹。 
      钱就像跳水的台子,搭得越高,越有施展的空间,越能做出漂亮的动作。 
      有钱的人更有钱,穷人往往只有干瞪眼! 
       
      很多时候不是穷人太笨,穷人想到的事,再精彩自己也无法去做。钱就像跳水的台子,搭得越高,越有施展的空间,越能做出漂亮的动作。 

    穷人后富起来

      富人大多是从穷人蜕变而来,失败是成功之母,富人也是穷人的儿子。但富人并不轻易履行赡养的义务,而是榨取穷人的劳动,让他们自食其力! 
      让一部分人先富起来,剩下的人以为下一步就该轮到我了——那只是做梦! 
      在财富的问题上,比来就没有轮流坐庄的,所谓风水轮流转、一碗水端平之类,不过是穷人的希望而已,从来没有富人觉得赚钱赚厌了,该把机会让给穷人试试的。 
      在财富的道路上,谁也不会停下来等你,无论是谁,都得撒开腿快跑! 
      先富起来的人已经掌握了榨取穷人的技巧和渠道,聚财的模式已经建立,平台已经搭好,没有富起来的人只有随波逐流,跟着富人的指挥棒转。 
      并且纵向地比,穷人比先前的确富多了,也可以算是后富起来的人,尽管富人的变化更大。但既然无力改变,那就承认现实吧,何况在富人设计的模式中,有很多位置是为穷人量身定制的,可以让穷人很容易得到基本满足。 
      你还想要求什么呢?很多时候,比赛的结果在起跑时就已经定了。 
       
      让一部分人先富起来,剩下的人以为下一步就该轮到我了——那只是做梦

    披着狼皮的羊

        
    穷人急于致富,却往往疏于工计,总是在嚎叫,一副气势汹汹的样子,实际上却做不成什么,离挣大钱差得很远。 
      在穷人的印象中,大钱是个很不得了的东西,说起挣大钱,眼睛都绿了,急吼吼的,恨不得立刻拔出刀来,挥手宰去。 
      但刀在哪里?宰谁?怎样去宰?并没有周全的办法。穷人就像披着狼皮的羊,外表凶狠,内心软弱,虽然有一副吓人的皮毛,吃草的牙齿和逃命的蹄子还是会时时暴露出来。 
      富人就不同。你可以观察电视里各种节目的嘉宾,那种情绪激动难于自持的,多半是穷人,他忍不住要激动,激动完后可能还要回味很久,然后该睡觉睡觉,该干活干活,穷人还是穷人。而富人始终是笑眯眯的,不管主持人抬举他还是刁难他,始终保持着风趣,不温不火,让那些爱激动的穷人惭愧,佩服。于是他本人的形象和他所代表的企业形象,更加深入人心,穷人们又一次记住了他的品牌,为下一次掏钱作好了心理准备。
     
      富人是披着羊皮的狼,常常扮演着慈善家,口口声声要献给你一点爱,但实际上这只不过是他们严密的商业计划,是一种手段,最终目的是把人吃掉,或者说确切点,是把人的钱吃掉。 
      真正默默奉献着爱的,有我吃的就有你喝的,把自己盖的被子捐一床给灾民的,不要补助悄悄献一袋血的……诸如此类的,多半都是穷人。 
       
      穷人就像披着狼皮的羊,外表凶狠,内心软弱,虽然有一副吓人的皮毛,吃草的牙齿和逃命的蹄子还是会时时暴露出来。 
        

    你为什么是穷人

      在网上,穷人已经是一个外延模糊的词,便宜的汽车可以叫穷人的车,经济配置的电脑可以叫穷人的电脑,意甲联赛弱队打赢了强队叫穷人的胜利,街上流行昂贵首饰和简单T恤的搭配,也叫穷人的时尚。总之,钱不多就是穷人,钱多也可以叫穷人,只要你不自认为是富人。 
      在物质普遍比较丰富的背景下,穷人、富人的概念已经不是朱门酒肉臭,路有冻尸骨的区别了。很多时候,你根本不能从外表上判断出谁是穷人谁是富人,比尔·盖茨常常穿便装,城市里的打工仔倒是天天西装革履。 
      穷人和富人的概念需要重新界定,并非生活在温饱线下的人才叫穷人。 
      穷和富是相对的,一个在外资公司任职的白领,月薪3000元,还是觉得紧巴巴的;而一个退了休的老大爷,虽然每月只拿1000多元退休金,却对生活满足得很。穷和富很多时候是一种感觉,在富裕地区,一个人即使有车有房(多半是贷款买的),可能仍然属于低收入者,每天仍得为生计奔波。但在另外的贫困地区,他这样的状况已经足以让当地的大腕垂涎三尺了。 
      收入越高的人越觉得自己穷,这并不是荒诞,收入高往往支出也高,反倒入不敷出了;收入高的人常常自视也高,总觉得身价还没抬够,还可以更高,当然他要叫穷。央视曾经做过调查,多数月收入在1000元以下的人认为自己的生活已经达到小康,而部分月薪超过3000甚至5000元的人却认为自己的生活与小康标准还有很大的距离。 
      小康只是生活的基本层次,权威机构定义小康的标准有两个,一个是人均GDP达到▲00美元,还有一个就是食物消费支出低于家庭收入的50% 
      看来穷人富人有一个最简单的参照物,谁还在为食物操心,谁就是穷人。生活对富人来说才是生活,对穷人来说只是生存。 
      对于那些特别贫困的人来说,探讨你为什么是穷人是没有多大实际意义的,因为他们无力改变现状,他们对穷富的认识都是从有限的生活经验中得来,是根据对生活必须品的拥有量来判断的。而城市中的穷人,或者富裕地区的穷人,困扰他们的不是一日三餐,而是发展问题。 
      富人并不光荣,穷人并不可耻。 
      现代人不完全以物质标准去评判一个人的价值,而且人的生活方式丰富多彩,并非富人就是快乐的,穷人就很痛苦,人生的幸福很多时候与穷富无关。 
      多穷才是穷人?多富才是富人?有没有一个具体的量化标准? 
      探讨穷富问题,很多时候只是一种心理分析,在同样的社会环境中,你,为什么是穷人呢?或者,为什么感觉自己是个穷人? 
      谁都可以问问自己。 
      我?为什么是穷人? 
       
      谁还在为食物操心,谁就是穷人。生活对富人来说才是生活,对穷人来说只是生存

    穷人的时间

      时间也是一种资源,对任何人来说,时间都是有限的,是比金钱还要宝贵的资源。 
      古人有一个词游手好闲,谁要是沾上这几个字,不仅是没有钱的问题,连人格也似乎低人一等。为什么?因为你没治了,等于烂肉一堆,蛆虫一条。 
      现在好闲进化成休闲,反而成了时尚的标志,不仅不受唾弃,反而被人眼红。 
      这都是富人的阴谋! 
      都不休闲,他的产品卖给谁?他赚谁的钱?富人们总是根据自己的需要,制造着时尚和观念,把赤裸裸的商业目的包装上炫目的外衣,而穷人则是时尚的追随者,当一种风气大行其道之时,就是富人的钱包开始收获之日。 
      时间和金钱是两种可以相互转化的资源,钱和时间成反比。从一个地方到另一个地方,要节约钱只能选择公共汽车甚至走路,要节约时间就必须付数倍于公共汽车票价的钱去打的,一个享受充裕时间的人不可能挣大钱,一个腰缠万贯的人也不会视时间如粪土,要拥有更多的钱必须牺牲相应的闲暇时间,要想悠闲轻松就会失去更多挣钱的机会。 
      娱记们总是埋怨大腕态度不好,说几句话就不耐烦。歌迷们要想耽误歌星几秒钟时间,讨一个签名或是握一握手,那得耗费自己多少时间呀!时间的含金量对每一个人是不同的,像比尔·盖茨之类的世界级富豪,日进千万美金,每秒钟都有成千上万的钞票往账户上滚,所以就是穷国的总统想见他一次,恐怕都要预约。 
      只有穷人的时间是不值钱的,有时甚至多余,不知道怎么打发,怎么混起来才不烦。 
      穷人并不感觉时间就是金钱,因为并没有一份百万美元的合同在等着他签,也没有什么重要的生意,慢了一秒就会被别人抢去,钱和时间并不直接相等。他如果遇上塞车,他抱怨,也仅仅是因为等得太久,影响了心情而已。 
      只有能带来新的价值的价值才是资本,而价值的高低是与稀缺程度有关的,对穷人来说,稀缺的是钱,而不是时间! 
      一个人无论以何种方式挣钱,也无论钱挣得是多是少,都必须经过时间的积淀。如果你可以因为买一斤白菜多花了一毛钱而气恼不已,却不为虚度一天而心痛,这就是典型的穷人思维。你可能还会举些例子来为自己开脱:你看,那些富人都是一边玩一边就把生意做了,只有穷人才忙忙碌碌的。” 
      可是你记着,富人的玩也是一种工作方式,是有目的的,这和百无聊赖混时间完全是两种状态。富人的闲是闲在身体,修身养性,以利再战,他的脑袋一刻也没有闲着;穷人的闲却是闲在思想,实际上他手脚都在忙,忙着去麻将桌上多摸几把。 
      如果你总是感觉时间太多,那一定就有问题! 
      如果你总是如此休闲,那富人的阴谋就得逞了! 
       
      富人的玩也是一种工作方式,是有目的的,这和百无聊赖混时间完全是两种状态。 

    穷人的圈子

      每个人都有一个生活 环境,环境和命运之间互为因果。 
      穷人大多生活在穷人中间,久而久之,心态成了穷人的心态,思维成了穷人的思维,做出来的事也就是穷人的模式。穷人身边都是穷人,每天谈论着打折商品,交流着节约技巧,虽然有利于训练生存能力,但你的眼界也就渐渐囿于这样的琐事,而将雄心壮志消磨掉了。 
      穷人既羡慕富人,又对富人有种天然的抵触,他们在谈论富人时就难免用一种讥讽的语气,并且在内心藏起一把手术刀,随时准备着解剖富人的丑陋,以便让自己的优秀凸现出来。生活在穷人中间,很难对富人有一种理性的认识,更难有一种平和的心态去学习富人的绝招。 
      富人,不管他有多蠢,他能够成为富人,就是不简单的。 
      穷人也有自己的智慧,但那更多是在生存的层面上。一个生活在穷人堆中的穷人,要想跃上富人的台阶,很多时候必须和自己这个阶层说拜拜。 
      这绝不是背叛,而是一种自我改造。 
       
      穷人大多生活在穷人中间,久而久之,心态成了穷人的心态,思维成了穷人的思维,做出来的事也就是穷人的模式。 

    穷人的缺点

      穷人喜欢用自己的缺点去比别人的优点:我没有别人漂亮我没有一个好爸爸我家住在黄土高坡”……富人则不一样,因为富就有了自信,不怕承认弱点,看到的是自己与别人的不同。 
      穷人承认自己的弱点,是为了给穷找到一个开脱的理由,富人承认自己的弱点,则是为了显示强大的力度,证明自己是如何战胜弱点,走到今天这个位置的。 
      所以,当穷人自述弱点时,你只会产生同情,富人的弱点却让人景仰。 
      比如脱发,富人秃顶,是智慧的闪光,聪明的脑袋不长草;穷人脱发,就是营养不良,就是早衰,就是就是癞子脑壳一个。 
      穷人和富人哪怕缺点一模一样的,观众的反应也会截然不同,富人可以居高临下,不战而屈人之兵。穷人就算你唾沫横飞,别人也只给你白眼。 
      就因为穷人是穷人,富人是富人。 
       
      穷人的弱点让人同情,富人的弱点却让人景仰。

    穷人的激情

      能不能干成事,首先要看有没有激情。 
      如果一个人很穷,而又成天无精打采,心神恍惚,并没有受到重大打击,就是不能进入状态,你难得看到他眉飞色舞的样子,更别指望他能感染旁人。他总是按部就班,很难出大错,也绝不会做到最好。这样的人,你能想像他能冒风险,顶压力,克服种种困难,领导一个团队创业成功吗? 
      没有激情就无法兴奋,就不可能全心全意投入工作,不可能创造性地解决工作中的难题,更不可能有创业的力量和勇气,要成为团队的领袖,更是妄想。 
      可以说缺乏激情的人,如果他的生活不景气,没有如果,是一定,那就是命中注定的。 
      大部分的穷人不能说没有激情,但是他的激情总是消耗在太具体的事情上:上司表扬了,他会激动;商店打折了,他会激动;电视里破镜重圆了,他的眼泪一串一串往下流。你能说他有激情吗?他有的只是一种情绪,而不是一种对生命的认识。 
      燕雀安知鸿鹄之志王侯将相,宁有种乎?有这样的激情,穷人终将不是穷人! 
      激情是一种天性,是生命力的象征,有了激情,才有了灵感的火花,才有了鲜明的个性,才有了人际关系中的强烈感染力,也才有了解决问题的魄力和方法。 
      穷人总是渴望发大财,而没有激情的人,永远不会有真正的行动。 
       
      大部分的穷人不能说没有激情,但是他的激情总是消耗在太具体的事情上。 

    穷人的节俭

        
    节俭是富人的美德。 
      穷人的节俭不是一种认识,而是迫不得已,他们骨子里其实也想奢侈,但条件有限,就算把所有能用的都用了,甚至把不能用的也用了,在别人眼里还是节俭。 
      他的奢侈只能放在一些特殊日子,以便把平时从牙缝里抠出来的钱,集中起来,痛快一掷。 
      穷人其实是喜欢摆阔的,因为奢侈是一种可以炫耀的事,对穷人来说,奢侈绝对是种光荣,如果逢年过节不能大碗大碗把剩菜倒掉,那才是种遗憾呢。 
      穷人为了给自己迫不得已的节俭找到根据,就对富人的节俭大加崇敬,他们会说:看,那个大老板在小店吃了一碗面;那个国际大公司打印纸都要双面用……”于是富人的形象更加光辉,他的节俭反而带来美誉度,成为进一步剥削穷人的台阶。 
      同样的做法如果发生在穷人身上,可能就会为别的穷人所鄙视。穷人是需要为自己贴金的,如果他感到自己穷,增强自信的最好办法就是让自己看上去很富。 
       
      对穷人来说,奢侈绝对是种光荣,如果逢年过节不能大碗大碗把剩菜倒掉,那才是种遗憾呢。 


    穷人的自信

      李嘉诚是个超级大富人,据估计,他的资产净值达120亿美元。但是他身上穿的永远是一件传统的西服,手上戴的是一块廉价表,价值26美元(注:媒体报道,非亲眼所见)。他甚至为这块手表自豪,他说,如今花在自己身上的钱比年轻时候少多了。 
      为什么年轻的时候花钱更多呢?因为那时候还穷。 
      穷就要武装到牙齿,真的就是镶一颗金牙,让人肃然起敬。 
      富人到了一定程度,就不再需要为自己脸上贴金了,反而需要糊泥,让自己的光芒不要太伤人的眼睛,人怕出名猪怕壮,富人担心的是嫉妒,而不是鄙夷。 
      穷人正好相反,他需要人尊重。在内心他其实是不自信的,就像一个老女人,拼命往脸上打粉,宁肯把拉链挤爆,也要套上流行的紧身衣。女人装嫩,正好说明她内心恐惧,害怕一旦皱纹暴露,马上就没人要了。 
      只有年轻的歌手才敢把头发染白,个性和主见都源于自信。 
      李嘉诚在谈到他的经营秘诀时说:其实也没什么特别的,好景时,决不过分乐观;不好景时,也不过度悲观。在衰退期间,大量投资。我们主要的衡量标准是,从长远角度看该项资产是否有赢利潜力,而不是该项资产当时是否便宜,或者是否有人对它感兴趣。” 
      不过份悲观,也不过份乐观,从长远角度去投资,这是一种人人都能明白的投资理念,可惜能做到的人很少。不是因为技巧有多难,而是需要一种客观的眼光,一种平和的心态,而客观和平和都是需要自信的。自信才能不被外力所左右,自信才可能有正确的决定。 
      越穷越是没有自信,越没有自信就越是人云亦云,不是上当,就是瞎忙,最终还是难有收获。 
      不信你去试试,就算镶了金牙,也没人会对你放电的! 
       
      只有年轻的歌手才敢把头发染白,个性和主见都源于自信。

    穷人的习惯

      有个故事,说的是一个穷人,很穷,一个富人见他可怜,就起了善心,想帮他致富。富人送给他一头牛,嘱他好好开荒,等春天来了撒上种子,秋天就可以远离那个穷字了。 
      穷人满怀希望开始奋斗。可是没过几天,牛要吃草,人要吃饭,日子比过去还难。穷人就想,不如把牛卖了,买几只羊,先杀一只吃,剩下的还可以生小羊,长大了拿去卖,可以赚更多的钱。 
      穷人的计划如愿以偿,只是吃了一只羊之后,小羊迟迟没有生下来,日子又艰难了,忍不住又吃了一只。穷人想,这样下去不得了,不如把羊卖了,买成鸡,鸡生蛋的速度要快一些,鸡蛋立刻可以赚钱,日子立刻可以好转。 
      穷人的计划又如愿以偿了,但是日子并没有改变,又艰难了,又忍不住杀鸡,终于杀到只剩一只鸡时,穷人的理想彻底崩溃。他想,致富是无望了,还不如把鸡卖了,打一壶酒,三杯下肚,万事不愁。 
      很快春天来了,发善心的富人兴致勃勃送种子来,赫然发现穷人正就着咸菜喝酒,牛早就没有了,房子里依然一贫如洗。 
      富人转身走了。穷人当然一直穷着。 
      很多穷人都有过梦想,甚至有过机遇,有过行动,但要坚持到底却很难。 
      据一个投资专家说,他的成功秘诀就是:没钱时,不管再困难,也不要动用投资和积蓄,压力会使你找到赚钱的新方法,帮你还清账单。这是个好习惯。 
      性格形成习惯,习惯决定成功。 
       
      很多穷人都有过梦想,甚至有过机遇,有过行动,但要坚持到底却很难。性格形成习惯,习惯决定成功。 

    穷人的常识

      穷人总喜欢用自己的常识去推断富人的行为,比如在英国,人们就总是对女王花了纳税人多少钱津津乐道,逼得白金汉宫的财务官不得不站出来算账。这一算,穷人们惊呆了,不劳而获,生活奢侈的王室不仅没有花纳税人一分钱,反而还为英国国库增加了巨额财富。 
      英国皇室的不动产1760年就被英王上缴给英国政府,以换取国库所支付的钱财。自1991年,皇室不动产已增值4200万英镑,现在价值133亿英镑。1991年至2000年的9年间,英国皇室压缩开支共节约了4▲00万英镑,增值的4200万加上节约的4▲00万,意味着女王在过去9年中为英国国库增加了9000万英镑! 
      你看,有钱就是好!不仅用不着去劳动流汗,钱几辈子用不完不说,反而越用越多,这恐怕是穷人的常识难于理解的。 
      白金汉宫过去是10年公布一次皇室所有开支账目,美其名曰让国民更容易了解皇室生活,而骨子里的声音,却是在告诉那些爱絮叨的穷人:我们不是寄生虫,我们是说得起硬话的! 
      穷人的常识是基于自己的拮据生活获得的,移植到富人身上难免有些局限,让穷人去理解富人,就像让富人理解穷人一样,两方都难。 
       
      穷人的常识是基于自己的拮据生活获得的,移植到富人身上难免有些局限,让穷人去理解富人,就像让富人理解穷人一样,两方都难。 

    穷人的互助

      富人捐钱,大多有作秀的成份,行善也是一种经营。 
      穷人帮助穷人,却是发自内心。因为他从别的穷人身上,看到了自己的影子。 
      穷人和穷人之间,很容易结成互助的关系,两个衣衫单薄的人,在寒风中很容易抱在一起,相依为命。恶劣的环境常常像刀子一样,把人的私欲剔除干净,只剩了生存的欲望,这时的人是非常好团结的。 
      当人还是猿猴时,他们最大的敌人是野兽。猿猴一旦进化成高等动物,在地球上所向无敌,唯一能使之血流成河的,就是同类之间的战争。事实上,现在世界上所有的武器,都是为了消灭人自身的。 
      穷人一旦变富,当初的互助也就不平等了,由相怜相惜,变成行善施舍,姿态既已居高临下,心态也就少了温情。互相算计就难免多了,让彼此的团结缺少安定。 
      不能说富人的担心毫无道理,没钱的时候,如何找钱是当务之急,一旦有钱,保卫财产就成了重中之重。人无远虑,必有近忧啊。 
      真正平等的互助,永远只能在同一个阶层中进行,越级的事,往往只是一厢情愿,最后都难有美好结局。 
       
      富人捐钱,大多有作秀的成份。穷人帮助穷人,却是发自内心。因为他从别的穷人身上,看到了自己的影子。 

    穷人的忍耐

      宗教的根基是在穷人那里,宗教是解脱苦难的,穷人的苦难最深,宗教就总是从穷人中起源。 
      过去说,宗教是麻痹人民的鸦片,可还真得感谢这个鸦片,没有麻痹,麻烦可就大了。 
      对待苦难向来有两种办法,一个是沉默,一个是暴发。鼓励人忍耐的宗教,有着如此广泛的群众基础,说明人们普遍还是选择忍耐的。 
      人不到忍无可忍的地步,一般不会轻易爆发。这倒不是因为善良,而是出于自保。需要忍耐的总是弱者,弱者的爆发常常就是以卵击石。 
      所以身为穷人,首先就要有忍耐的素质,愤世嫉俗是没有用的,过激行为更要避免,要相信正义终将战胜邪恶,但那个披挂上阵的人不一定非要是你。如果你敢于挺身而出,说明你良知还没有泯灭,不过我也得提前把你的花圈做好。 
      近年出了很多反腐倡廉的文艺作品,从作品中得知,一个贪官的倒台,通常需要几个条件: 
      一是要有人举报,这个人多半是穷人,苦大仇深,有正义感的(苦大仇深有时被当作贬义词,这里作褒义用,说明此人的生存状态和心理状态,也说明一种逻辑:既让人受苦,却不让人记仇,那是不可能的)。 
      二是要高层支持,能有条件当贪官的人,都不是寻常百姓,有权才有势,势力的势,态势的势,趋势的势,势已形成,岂能轻易扭转,一般人想挖贪官,就像蚍蜉撼树,成功率很小。所以要有高层表态,用大腿去拧胳膊才行。 
      三是要有内部矛盾。人都是自私的,贪官的私欲更强。私欲太强,难免分赃不均,矛盾激化,就自取灭亡了。世上没有免费的午餐,如果有人非要把钱塞到你手里,那就说明他还想从你手里得到更多。你就套上枷锁了,至少成了一根绳上的蚂蚱。敢走邪道的人都不是吃素的,缺口一旦从内部打开,自已人咬起来比谁都凶险。 
      其实这三个条件都是水到渠成的,多行不义必自毙,子姑待之。 
      时间能够解决一切,穷人不必为身边的事太伤神伤心,不平总是有的,重要的是抓紧时间做你自己的事,让你的处境一天天有所改善。 
       
      人不到忍无可忍的地步,一般不会轻易爆发。这倒不是因为善良,而是出于自保。需要忍耐的总是弱者,弱者的爆发常常就是以卵击石。 

    穷人的骨气

      穷人有骨气,常常以陶渊明自居,不为五斗米折腰,可是他就忘了,陶渊明是有几亩薄田的,说不上大富大贵,但至少衣食无忧,方能够采菊东篱下,悠然见南山,饮几杯小酒,享一份清闲。这可不是什么忍辱负重,而是神仙日子。 
      神仙日子是只有神仙才能消受的,穷人只觉得受罪,对陶令就充满了同情。想想看,县大老爷呀,放着县大老爷都不做了,何等的骨气!可是县大老爷等于狗屎,对陶渊明这种纵情山水的人来说,放弃一堆狗屎需要什么骨气呢! 
      穷人往往进行一些不切实际的类比,只看现象不看本质。穷人的问题不是为五斗米折腰,而是为一碗米折腰。少了一碗米,可能饿死人的! 
      穷人的骨气,有时带着自戕的味道,人在屋檐下,偏偏不低头,结果头破血流了不是?螳臂挡车,自取灭亡,关键是灭亡以后,车还是照开,还有别的螳螂争先恐后往上爬,生怕抓不住机遇,生怕搭不上时代的快车——穷人的骨气何其可悲。 
      其实任何事情都不是绝对的,哪能够比着箍箍买鸭蛋,一成不变?你看古代的大将,枪林弹雨中横冲直闯,眼睛都不眨一眨——那时可没有防弹背心哦,你不能不说他是真英雄。就算一时战败,被人生擒,押上大堂,怒目圆睁,哪有一个怕字!堂上的主将就顿生爱慕之心,喝退士兵,走下来亲自为他松绑。英雄的骨头也就软了,一番省时度势,当下就弃暗投明——后来果真立下了功业。 
      不管骨头再硬,都是有关节的,有关节就不怕打不通,所以说世上无难事,一切都可以摆平。 
      但这个关节理论对穷人并不适合,倒不是说穷人的骨头没有关节,而是看人家要不要去打。打关节还是挺麻烦的,要有轻重缓急,要有方式方法,你若不是个人物,他费那事干嘛!所以穷人的硬骨头精神最容易得到成全。 
      能被押上大堂去见主将的,都有着起码的级别,骨气才有载入史册的可能。人一穷,骨气也就不值钱了,你自己听起来铮铮有声,别人只当是破罐子破摔。 
      人活脸,树活皮,富人有脸面,穷人有骨气。很多时候,骨气是穷人的精神支柱,穷人是在骨气中陶醉。 
      想起阿Q,都快要砍头了,还一路高唱手执钢鞭将你打,眼睛却是在人群里拼命找着吴妈,那骨气多少有些作秀的成份,但也不能不说没有真情实感。阿Q的问题是没有找到组织,结果既没有得到革命党的肯定,也没有得到吴妈的芳心,只是感动了自已而已。 
      有的人凭着骨气成了英雄,有的人骨气一生却一无所有。就像同样是效忠,有的人是忠诚,被请进祠堂供奉,有的却只是愚忠,遭人嘲笑同情——穷人多半是后者。 
      骨气也不是个简单的问题,不只需要补钙,还得补脑才行。 
       
      穷人往往进行一些不切实际的类比,只看现象不看本质。穷人的问题不是为五斗米折腰,而是为一碗米折腰。少了一碗米,可能饿死人的! 

    穷人的幻想

      穷人经常听到别人发财致富的故事,也看到周围有人不断成功,自己难免心痒痒的,也磨掌擦掌,想甩开膀子大干一番。但真正干起来了,却远不是想象的那样潇洒。钱就像遍街的美女招贴,看得见摸不着,养养眼,吞吞口水而已。 
      发财的机会确实很多,但并非你都能抓住,每一个机会的实现,都有赖于大量的准备工作和复杂的操作过程。穷人并没有这方面的经验,他所看到的和听到的,往往都是一个个美妙的结果,过程却被虚化了。成功人士的所谓经验介绍,就像孔雀开屏,虽然灿烂得很,但对你这类小麻雀来说,只有审美的价值。 
      从别人的经验中得到的认识往往是片面的,富人为了夸大自己的成功,常常在两方面误导听众,其一是夸大奋斗的成果,比如通过X年的努力拚搏(X小于等于10),固定资产已达N亿元(N大于等于5,穷人一听眼珠都快掉出来,顿时五体投地。其实他那N亿元全是银行贷款,准确地说他现在应该是负债N亿元,何况只要听众不是税务局的,其泡沫之丰富可以参照洗涤剂产品之A级标准;其二是夸大奋斗的艰难,比如那时候,我的小摊儿只能摆在街边儿,城管一来,收起包袱就跑。让你觉得真是太不容易了,新旧对比,更加的得出结论,天将降大任于斯人啊,伟人和凡人的确不同。 
      于是你也产生错觉,要向伟人学习,把奋斗目标也定在N亿元上。 
      和尚摸得,我有什么摸不得,阿Q当年就是这样犯错误的。 
      你以为遍地机会唾手可得,以为宏伟蓝图很容易实现,既然已经有了那么多成功的例子,王侯将相,宁有种乎? 
      不切实际的幻想,当然很难有切实可行的计划,也难有阶段性的成果,一步一步推进你的事业。没有成功的希望,必然就心态浮躁,见异思迁,东游西荡,一事无成。 
      人做什么事都是需要有定性的。共产党之所以能革命成功,最后夺取政权,很重要的原因就是建立了红色根据地,有了巩固的立足点,才谈得上发展。穷人的创业和当年的革命差不多,过程是艰难的,牺牲是巨大的,若没有一个长期革命的思想准备,没有一套有个人特色的想法,不能在某一领域潜心经营,则形同浅水,翻不起大浪。 
       
      于是你也产生错觉,要向伟人学习,把奋斗目标也定在N亿元上,和尚摸得,我有什么摸不得,阿Q当年就是这样犯错误的。 

    穷人的贪婪

      近年出了不少贪官,刑是判了,但还没有了结,为了教育广大人民群众,媒体又兴致勃勃挖起了思想根源。这一挖,真还让人大吃一惊,原来贪官竟是苦孩子,根红苗正,长大怎么反而成了歪材? 
      穷人不禁冒出冷汗。 
      困难像弹簧,你弱它就强,穷人是在这样的教导下长大的。恶劣的环境,注定了穷人一辈子都在斗争,能够出人头地的,都可以算是硬汉,让弹簧看到了颜色。 
      然而弹簧也不是吃素的,哪里有压迫,哪里就有反抗,压迫越深,反抗越烈。 
      穷人心里实在压抑了太多的东西,就像沉默的弹簧,一旦松手,岂有不汹涌爆发的?杰克·伦敦小说《热爱生命》,写了一个迷路的人在荒野挣扎,那实在是太不容易了,饥饿、寒冷、疲劳、野兽,一切的一切,每前进一步,几乎都要耗尽全部的力气。在他身后,是一匹和他同样饥饿的老狼,已经跟着走了几天,随时等着他倒下,然而最终还是他吃掉了狼。感谢狼给了他营养,他终于回到了船上。 
      如果故事就此结束,我们将永久沉溺于亢奋之中,而忘了即使是一个英雄,他的欲望也是平凡的。小说的结尾是这个人回到船上,吃了很多,胖了很多,他的船舱里堆满了面包,已经干了。 
      人的本性其实就是如此,一个在荒野抗争的人,很多时候不是因为他不想躺下,而是因为他实在不能,当一头饿狼随时等着你倒下的时候。 
      人的勤俭廉洁,很多时候也不是觉悟的表现。穷人的贪婪,就像一颗储存的种子,一旦浇灌,也会膨胀,直至发芽开花,而且生命力特强。 
       读《释迦牟尼传》,惊奇于他修行之前竟是个王子,以一国之富,一国之色,他完全可以纵情享乐。然而他却放弃了,到野外苦修,整整六年,终于开悟。 
       他体验过了,才可能认识到物质欢乐的肤浅和短暂,从而选择更加深沉持久的精神生活。物质是第一性的,物质是基础,如果物质的欢乐还仅仅是可望而不可即的生活方式,它就会成为人的基本需求,成为一种强烈的诱惑。 
      要超越物质,首先得拥有物质。这一点对穷人来说,显然更难。 
       
      人的勤俭廉洁,很多时候也不是觉悟的表现。穷人的贪婪,就像一颗储存的种子,一旦浇灌,也会膨胀,直至发芽开花,而且生命力特强。

    穷人的野蛮

      常常有一些孩子,捉了小生命来玩,将蜻蜓的尾巴扯掉,扔上天空,看它还能不能飞;用草茎穿过蚂蚱的肚子,为的是便于携带;一脚将蜗牛踩成烂泥,在那一声脆响中得到无穷快乐;或者把老鼠浇上汽油,看它拖着火光四处乱窜…… 
      孩子总被我们赞美为天真烂漫,天真就是人类的原始状态,是本性未泯,而这本性中实在是包含了太多残忍和野蛮,也稀里糊涂挤进了被赞美之列。我们可以不怪孩子,是因为孩子还没有接受教化,他不懂事。而成人,如果还不懂事,就只有后果自负了。 
      尽管我们经常的厌恶文明,但那只是身在福中不知福。文明对人类太重要了,为什么我们把那些骇人听闻的暴行斥之为兽行?就是为了把他从文明人中彻底踢出去。文明是怎么来的?就一个人来说,那是教化的结果。从这个意义上看,穷人和富人,谁接受的教化更多?谁更接近文明呢? 
      穷人是值得同情的,但贫穷本身并没有什么值得赞美。穷人固然有很多优点,但也固然有很多缺点,贫穷所导致的缺乏教化,使得人穷的同时,不仅志穷,还有着更多的智穷和德穷。当然,不是穷人想要如此,贫穷和愚昧、野蛮往往是互为因果,穷人也是受害者。 
      但是受害者并不等于就是弱者,就没有一点潜在的破坏力,往往贫穷开出的恶之花,野蛮结出的恶之果,其破坏力是惊人的。自古以来就有为富不仁之说,富人的罪孽确实是深重的,但如果因此就看不见穷人的罪恶,那也是片面的,很多时候,后者一样的触目惊心。 
      我们要帮助穷人,但我们需要的不是穷人翻身,而是提高穷人的档次。谁也不要把谁打翻在地,再踏上一只脚。穷人和富人永远不可能零距离,但却可以有第N次亲密接触,可以有整体的上升和富裕。 
       
      自古以来就有为富不仁之说,富人的罪孽确实是深重的,但如果因此就看不见穷人的罪恶,那也是片面的,很多时候,后者一样的触目惊心。 

    穷人的焦虑

      在中国这样的发展中国家,当个富人是很受用的,矮子里面充高子,颇有鹤立鸡群的感觉。需要壮大声势的时候,你尽可以海阔天空,克隆一堆庞大的数字,让听者听得啧啧出声,却不用担心税务机关找上门来,让你为这堆唾沫买单。 
      有时你也需要韬光养晦,人怕出名猪怕壮嘛,你又很容易归入平淡,和穷人一样到菜市上讨价还价,和劳动人民打成一片。 
      中国其实是没有贵族的,真正的贵族都没逃过1949年。现在市面上正在风光的大都是些暴发户,没有谁有三代以上的纯正血统,所以富人骨子里还是平民化的,再富的人对穷的滋味都不陌生。 
      中国的富人有着极强的伸缩性,也有着极强的承受力。他们是创业的一代,对不劳而获有着深深的鄙夷感。总体来说,他们的心态是青春的,他们还处在上升阶段,总是在拓展,还不太考虑守财的问题。大部分富人就是这二十年间富起来的,有的甚至只有几年,他们的人生经验实际上就是开拓的经验。 
      所以中国的富人也有致命弱点,那就是太钟情于热火朝天。所谓深圳速度,就是一个一穷二白的城市,在迫不及待改变面貌。所有成天急匆匆挣钱的人,都不是真正的富人,他们还没有安全感,还没有足够平静的心情,悠闲地品味生活,更不能停下来思考。 
      一个穷国,不仅是穷人焦虑,富人也同样焦虑,而且焦虑的问题非常一致,穷人是生怕越来越穷,刚从穷人堆里爬出来的富人更怕被重新请回去,人人骨子里都难心平气和。 
      无恒产者无恒心,无恒心者无信誉,当所有的人都没有恒产的概念,这个社会普遍的不守规矩,就是一种必然。 
       
      成天急匆匆挣钱的人,都不是真正的富人,他们还没有安全感,还没有足够平静的心情,悠闲地品味生活,更不能停下来思考。 

    穷人的虚荣

      很多被称作小姐的人,其实并不是什么小姐,男人之所以这样称她,不过是为了双方的面子。 
      太讲面子不过是自卑的表现,而自卑总是会在面子上留下痕迹。一个人穿几百元一双的袜子,外面套一双几十元的布鞋,那是格调;一个人穿几百元的皮鞋,里面的袜子却烂了一个洞,那就是笑话了。袜子和鞋子都破,你可能遭人同情;而只有袜子是破的,却可能遭人耻笑。穷人的虚荣就是后面这种。 
      穷人总是把最光鲜的东西堆在表面,让人晃眼之下,得到一个光鲜的印像。然而表皮下面的东西却不容易安顿得好,稍不注意就七拱八翘,让光鲜像一个小丑,滑稽可笑。小丑的外表为什么那么鲜艳?不是没有道理的。 
      许多雄性动物都有着夸张的外表,比如孔雀的尾巴,狮子的鬃毛,鹿的角等等,除了吸引异性的眼球外,就是为了同性的战争。两只黑猩猩为了争夺一只雌性而宣战,但它们并不直接开打,而是怒目圆睁,愤然发声,做出一种决战的态势。真正打起来的时候并不多,在这种态势的较量中,常常就会有一方败下阵来,另一方大胜而归。 
      不战而屈人之兵,是一种境界,虚荣也是一种生存智慧。不管实力如何,先把架式摆好再说,狭路相逢,勇者胜。 
       穷人是最容易彼此贬低的,相互不容。因为他总是想压倒对方,只有这样,才不会被对方压倒。虚荣和刻薄往往相辅相存,贬低别人是为了抬高自已,抬高自已还是为了抬高自己,而之所以要抬高自己,是因为除了自己,没人会去抬高你,无产阶级只有自己解放自己。 
       
      虚荣也是一种生存智慧,虚荣和刻薄往往相辅相存。贬低别人是为了抬高自已,抬高自已还是为了抬高自己,而之所以要抬高自己,是因为除了自己,没人会去抬高你,无产阶级只有自己解放自己。 
        

    穷人的自在

      很多色情网站里都有克林顿和莱温斯基的精彩表演,相比之下,检察官斯皮尔的报告可是相当纯洁了。估计两人的身子可能是另外人的,头则是电脑剪接上去的,也可能是演员化妆,能够化得那么逼真,也真不容易呵! 
      克林顿看过这些网页没有呢?估计没有,要不不气死也得气疯! 
      堂堂总统,而且是美国这样的超级大国总统,居然被一个实习生弄昏了头,沦为三级片的男主角,一失足成千古恨啊!像他这样的超级大人物,对女人一旦有了一丁点的感情,就有可能做出不理智的行为,就有可能身败名裂。 
      正因为他处在一个太重要的位置上,他的一举一动才不可以随心所欲。 
      国与国之间从来就没有什么真正的友谊。利益相同,就同志加兄弟;利益不同,就朋友变仇人,两国的领导人之间也从来不会有什么深沉的私人关系,虽然相互之间送点礼品,说点热情洋溢的外交辞令,但在原则问题上,仍然是公事公办,绝不会因为是哥儿们就轻易让步。正因为涉及一国之事,关系太重大,所以外交上的事才极少掺杂个人感情。 
      越是富人,牵挂越多,负担越重,越不能感情用事。 
      如果你是个穷人,连结婚的钱都是借来的,你却非要在结婚前搞个财产登记,约定将来离婚时的财产分配,那人家肯定以为你是疯子。 
      但对于富人来说,这却是个很现实的问题。 
      199▲年,传媒大王默多克与妻子安娜发生婚变。依默多克新闻公司所在地加州的法律,像他们这样长达30余年的婚姻,结束时双方可以五五分成。当时默多克夫妇财产总计已高达65亿美元。安娜本身又是新闻公司董事会成员之一,离婚案不仅事关公司的财务,同时也关系到公司的经营策略。消息传出,新闻公司股价应声下跌,以至于一惯强硬的默多克也不得不作出姿态,和安娜发布联合声明,称他们已在财产分割上达成协议,不会影响公司的经营管理。 
      人们无从得知默多克夫妇究竟是如何渡过这一情感和财务危机的,但其间的惊心动魄就是局外人也可以感受得到。当两个人之间的事涉及到几十亿美元,以及一个庞大的全球化企业集团时,就不仅仅是一场风花雪月了。 
      在国外,企业首脑的终身大事往往成为董事会严肃讨论的话题,成为股市投资的风向标。众所周知,世界第一富豪比尔·盖茨和他夫人梅琳达婚前就签了详尽的财产协议,而提出签婚前协议动议的人不是比尔夫妇中的某一方,而是微软董事会,理由是为了企业安全。董事会插手企业首脑家庭生活,这并不是多管闲事,财富在这些人的婚姻里并不只是个金钱问题,而且牵扯到公司安危和事业成败。 
      在婚姻的问题上如此,在一切的人际关系中都是如此,可以说财富是一副情感的枷锁,拥有越多,越不能自由。 
      国外的富豪许多不敢轻易结婚,因为他对财产和事业有一份责任。对伴侣是如此,对朋友更是如此,富人是没法重情的。从这种角度看,卖油郎独占花魁,做一个穷人,也有穷人的自在和幸福。 
       
      如果你是个穷人,连结婚的钱都是借来的,却非要在结婚前搞个财产登记,约定将来离婚时的财产分配,那人家肯定以为你是疯子。但对于富人来说,这却是个很现实的问题。  


  • 如何在脚本中做关联(网上找到的)

    2007-06-07 17:17:23

    当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在VuGen的Recording Log中,您可以找到浏览器与服务器之间所有的对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。脚本和Recording Log最大的差别在于,脚本只记录了client端要对server端所说的话,而Recording Log则是完整纪录二者的对话。 51Testing软件测试网9ajX1nD
    51Testing软件测试网h,_Y]s?
    当执行脚本时,您可以把VuGen想象成是一个演员,它伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话,再对网站伺服器重新说一遍,VuGen企图骗过服务器,让服务器以为它就是当初的浏览器,然后把网站内容传送给VuGen。
    qn,tg(gs"Q9678所以纪录在脚本中要跟服务器所说的话,完全与当初录制时所说的一样,是写死的(hard-coded)。这样的作法在遇到有些比较聪明的服务器时,还是会失效。这时就需要透过「关联(correlation)」的做法来让VuGen可以再次成功地骗过服务器。
    rGW'h"F9678何谓关联(correlation)?
    ;i;J'PO]v5WQ9678所谓的关联(correlation)就是把脚本中某些写死的(hard-coded)数据,转变成是撷取自服务器所送的、动态的、每次都不一样的数据。
    | \ j|5n9678举一个常见的例子,刚刚提到有些比较聪明的服务器,这些服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一个唯一的辨识码,接下来就会利用这个辨识码来辨识跟它要数据的是不是同一个浏览器。一般称这个辨识码为Session ID。对于每个新的交易,服务器都会产生新的Session ID给浏览器。这也就是为什么执行脚本会失败的原因,因为VuGen还是用旧的Session ID向服务器要数据,服务器会发现这个Session ID是失效的或是它根本不认识这个Session ID,当然就不会传送正确的网页数据给VuGen了。 (比如饭票,当月使用可以,下月使用就过期了,食堂和用户手里都有这个饭票)
    MT9V8fJv%a9678下面的图示说明了这样的情形: 51Testing软件测试网p w%S?*LH._
    当录制脚本时,浏览器送出网页A的请求,服务器将网页A的内容传送给浏览器,并且夹带了一个ID=123的数据,当浏览器再送出网页B的情求时,这时就要用到ID=123的数据,服务器才会认为这是合法的请求,并且把网页B的内容送回给浏览器。 51Testing软件测试网0C*L1m.tc+I\
    在执行脚本时会发生什么状况?浏览器再送出网页B的请求时,用的还是当初录制的ID=123的数据,而不是用服务器新给的ID=456,整个脚本的执行就会失败。
    clNtQeB@967851Testing软件测试网;SWN"M(R,m+T
    要对付这种服务器,我们必须想办法找出这个Session ID到底是什么、位于何处,然后把它撷取下来,放到某个参数中,并且取代掉脚本中有用到Session ID的部份,这样就可以成功骗过服务器,正确地完成整个交易了。
    4R3qE!O*r|9678哪些错误代表着我应该做关联(correlation)? 51Testing软件测试网 W&v-PlD1L?
    假如脚本需要关联(correlation),在还没做之前是不会执行通过的,也就是说会有错误讯息发生。不过,很不幸地,并没有任何特定的错误讯息是和关联(correlation)有关系的。会出现什么错误讯息,与系统实做的错误处理机制有关。错误讯息有可能会提醒您要重新登入,但是也有可能直接就显示HTTP 404的错误讯息。
    G%Rw`r*x.O&o fS.c9678要如何做关联(correlation)?
    ?k j}0a2{"E9B!@9678关联(correlation)函数
    u(WTdn"p7] m7_9678关联(correlation)会用到下列的函数:
    h(w d7ouJ9678• web_reg_save_param:这是最新版,也是最常用来做关联(correlation)的函数。
    *S { fx@R9678语法:
    :S*pKyyt9678web_reg_save_param ( “Parameter Name” , < list of Attributes >, LAST ); 51Testing软件测试网!Fy Y@:vv8LU$`
    • web_create_html_param、web_create_html_param_ex:这二个函数主要是保留作为向前兼容的目的的。建议使用 web_reg_save_param 函数。 51Testing软件测试网 ^[ h3^F
    详细用法请参考使用手册。在VuGen中点选【Help】>【Function reference】>【Contexts】>【Web and Wireless Vuser Functions】>【Correlation Functions】。
    G9I*SU8v:Qb9678如何找出要关联(correlation)数据 51Testing软件测试网,uNZ&DZ$c\
    简单的说,每一次执行时都会变动的值,就有可能需要做关联(correlation)。
    nUMN\ f9678VuGen提供二种方式帮助您找出需要做关联(correlation)的值:
    3h.~ ]ThO^z*B|96781. 自动关联
    {i\#l.O1VkuE96782. 手动关联
    Cq3d1M9p&Ki,x7W9678自动关联
    !?h4Nq#`o^Y9678VuGen内建自动关联引擎(auto-correlation engine),可以自动找出需要关联的值,并且自动使用关联函数建立关联。
    b%At-t)m!Q_O(N9678自动关联提供下列二种机制: 51Testing软件测试网0y-\#^N+c8L-n9|
    • Rules Correlation:在录制过程中VuGen会根据订定的规则,实时自动找出要关联的值。规则来源有两种:
    "H;H%` OsM9678o 内建(Built-in Correlation): 51Testing软件测试网L \U BsQ1X+i
    VuGen已经针对常用的一些应用系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,内建关联规则,这些应用系统可能会有一种以上的关联规则。您可以在【Recording Options】>【Internet Protocol】>【Correlation】中启用关联规则,则当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。
    IM%?Brs j9678您也可以在【Recording Options】>【Internet Protocol】>【Correlation】检视每个关联规则的定义。
    aA:\V7@!jL%Qh9678o 使用者自订(User-defined Rules Correlation): 51Testing软件测试网h_&O&p4a#e}B&t s
    除了内建的关联规则之外,使用者也可以自订关联规则。您可以在【Recording Options】>【Internet Protocol】>【Correlation】建立新的关联规则。 51Testing软件测试网)K U d2p'y#S*}j
    • Correlation Studio:有别于Rules Correlation,Correlation Studio则是在执行脚本后才会建立关联,也就是说当录制完脚本后,脚本至少须被执行过一次,Correlation Studio才会作用。Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。 51Testing软件测试网2FK-Ep(}(a5p%u.[
    Rule Correlation
    /]-T{K-Z,BF9678请依照以下步骤使用Rule Correlation: 51Testing软件测试网3iZG'maGR.B
    1. 启用auto-correlation 51Testing软件测试网z0L'J#BXIlF
    1. 点选VuGen的【Tools】>【Recording Options】,开启【Recording Options】对话窗口,选取【Internet Protocol】>【Correlation】,勾选【Enable correlation during recording】,以启用自动关联。 51Testing软件测试网i*vWlD&|*O8m^2P {
    2. 假如录制的应用系统属于内建关联规则的系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,请勾选相对应的应用系统。
    wDN` M.O96783. 或者也可以针对录制的应用系统加入新的关联规则,此即为使用者自订的关联规则。 51Testing软件测试网 r xk$W0`_'Yw
    4. 设定当VuGen侦测到符合关联规则的数据时,要如何处理:
    P.Q]y/m t6h l9678 【Issue a pop-up message and let me decide online】:跳出一个讯息对话窗口,询问您是否要建立关联。
    %^#P)XP4X9678 【Perform correlation in sceipt】:直接自动建立关联
    IUn]{2]96782. 录制脚本 51Testing软件测试网 Z$n@ Yi8T:g
    开始录制脚本,在录制过程中,当VuGen侦测到符合关联规则的数据时,会依照设定建立关联,您会在脚本中看到类似以下的脚本,此为BroadVision应用系统建立关联的例子,在脚本批注部分可以看到关联前的数据为何。 51Testing软件测试网G5D8m&DC.RQ8@y

    .J&O m3Y nG$C5d]96783. 执行脚本验证关联是OK的。
    0WD@uP.U9678Correlation Studio 51Testing软件测试网m(w&U n tEM#W X(E
    当录制的应用系统不属于VuGen预设支持的应用系统时,Rule Correlation可能既无法发挥作用,这时可以利用Correlation Studio来做关联。 51Testing软件测试网m)K-u/o'f"N\%tQ
    Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。
    CkB P}9678使用Correlation Studio的步骤如下: 51Testing软件测试网'?u\*]+T;a TD|
    1. 录制脚本并执行 51Testing软件测试网&l@C,m e]*u
    2. 执行完毕后,VuGen会跳出下面的【Scan Action for Correlation】窗口,询问您是否要扫描脚本并建立关联,按下【Yes】按钮。 51Testing软件测试网$at0WQ7UQw:`

    A#H,Y@m Q3E+F7]96783. 扫描完后,可以在脚本下方的【Correlation Results】中看到扫描的结果。 51Testing软件测试网U])O F)mb5L

    $R-R;?iI96784. 检查一下扫瞄的结果后,选择要做关联的数据,然后按下【Correlate】按钮,一笔一笔做,或是按下【Correlate All】让VuGen一次就对所有的数据建立关联。
    UH Gc*Q9?|9678注意:由于Correlation Studio会找出所有有变动的数据,但是并不是所有的数据都需要做关联,所以不建议您直接用【Correlate All】。 51Testing软件测试网6HDV%QO b~V$J
    5. 一般来说,您必须一直重复步骤1~4直到所有需要做关联的数据都找出来为止。因为有时前面的关联还没做好之前,将无法执行到后面需要做关联的部份。
    ?R.IQRHD9678有可能有些需要做关联的动态数据,连Correlation Studio都无法侦测出来,这时您就需要自行做手动关联了。 51Testing软件测试网&\_q?3b })R
    手动关联 51Testing软件测试网3C/l3TZj z"k
    手动关联的执行过程大致如下: 51Testing软件测试网En1hA"D2N{ F9\4Ws
    1. 使用相同的业务流程与数据,录制二份脚本
    lj*ySp96782. 使用WinDiff工具协助找出需要关联的数据
    ~Lk9hBK @6q P;Q:n96783. 使用web_reg_save_param函数手动建立关联
    xv4D)b `96784. 将脚本中有用到关联的数据,以参数取代 51Testing软件测试网^M'T'`}aQ\(pk
    接下来将详细的说明如何执行每个步骤
    l ~CTMa/E9678使用相同的业务流程与数据,录制二份脚本 51Testing软件测试网3l/U)LwW5gj-HKv
    1. 先录制一份脚本并存档。 51Testing软件测试网,CT]$itZh'J
    2. 依照相同的操作步骤与数据录制第二份脚本并存盘。注意,所有的步骤和输入的数据一定都要一样,这样才能找出由服务器端产生的动态数据。
    ;m$pl&Ry fY4}:D&Pv9678有时候会遇到真的无法使用相同的输入数据,那您也要记住您使用的输入数据,到时才能判断是您输入的数据,还是变动的数据。 51Testing软件测试网"`-l2oqp%[9U tpUuV
    使用WinDiff工具协助找出需要关联的数据 51Testing软件测试网E*`6oUoNZ
    1. 在第二份脚本中,点选VuGen的【Tools】>【Compare with Vuser…】,并选择第一份脚本。
    +u"ig+Gn h B96782. 接着WinDiff会开启,同时显示二份脚本,并显示有差异的地方。WinDiff会以一整行黄色标示有差异的脚本,并且以红色的字体显示真正差异的文字。(假如没看到红色字体,请点选【Options】>【View】>【Show Inline Differences】)。
    .m!|E j7y96783. 逐一检视二份脚本中差异的部份,每一个差异都可能是需要做关联的地方。选取差异的脚本,然后复制。 51Testing软件测试网l[z*M+Zud6pI
    在复制时,有时并不需要取整行脚本,可能只会选取脚本中的一部分。
    Q!sNd IP)ZB9678注意:请忽略lr_thik_time的差异部份,因为lr_thik_time是用来模拟每个步骤之间使用者思考延迟的时间。
    e5W8CA"t9678
    %uN [Dc96784. 接着要在Recording Log(单一protocol)或是Generation Log(多重protocol)中找这个值。将鼠标光标点到Recording Log的第一行开头,按下Ctrl+F,开启【Find】窗口,贴上刚刚复制的脚本,找出在Recording Log第一次出现的位置。 51Testing软件测试网Q~7M*S:l&WL$G I'F0AN
    51Testing软件测试网9_(?)ER;]K,X2w(a$u
    结果会有二种: 51Testing软件测试网Aw aM"Tn:c
    o 在Recording Log中找不到要找的数据,这时请先确认您找对了脚本,毕竟现在开启了二个几乎一样的脚本,很容易弄错。
    #U.O m P([I M9678o 在Recording Log中找到了要找的数据,这时要确认数据是从服务器端传送过来的。首先可以先检查数据的标头,从标头的Receiving response可以知道数据是从服务器端传送到client端的。假如此数据第一次出现是在Sending request中,则表示此数据是由client端产生,不需要做关联,但是有可能需要做参数化(parameterized)。
    T8D5K#MW$M[,AYd9678您要找的标头格式如下:
    %vC,O1~| qr(?9678*** [tid=b9 Action1 2] Receiving response from host astra.merc-int.com:80 ( 25/11/2002 12:04:00 )
    'F+m7C!x0tj7[9678
    |;{I#_q96785. 现在您已经找到录制二次都不一样,而且是由服务器所产生的动态数据了,而此数据极有可能需要做关联。 51Testing软件测试网x ~V?&Qza"pxo;e
    使用web_reg_save_param函数手动建立关联
    O7Vbh?4ej+q+}9678在找到是由服务器所产生的动态数据之后,接下来要做的就是找出适当的位置,使用web_reg_save_param函数,将这个动态数据撷取到某个参数中。 51Testing软件测试网4J uMmp3I"j1V7X8Mz
    1. 要在哪里使用web_reg_save_param函数? 51Testing软件测试网.G7e a,nfb)oO
    在之前的步骤,我们已经在Execution Log找到可能需要关联的动态数据。在Execution Log中选取动态数据前的文字然后复制,我们将会利用这段文字,来帮助我们找出要关联的动态数据。 51Testing软件测试网{8`Oy"a
    51Testing软件测试网8f)N!He*I;@Uhj
    不过在这之前我们要先找出使用web_reg_save_param函数的正确位置,所以我们要再重新执行一遍脚本,而且这次会开启所有的Log。 51Testing软件测试网8r#mfS*^7mZ*e-Z+FX
    1. 在VuGen中点选【Vuser】>【Run-Time Settings】。 51Testing软件测试网cN?*R5VEv }
    2. 点选【General】>【Log】。 51Testing软件测试网4Ez$ePKU"\!xo
    3. 勾选【Enable logging】、【Always sends messages】、【Extended log】,以及【Extended log】下的所有选项。 51Testing软件测试网r2^t RZOd ~
    4. 按下【OK】就可以执行脚本了。
    1o$_3g&zE/sC.~0}9678执行完脚本之后,在Execution Log中搜寻刚刚复制的字符串。找到字符串后,在字符串前面会有A.tion1.c(7),这个7就是到时候要插入web_reg_save_param函数的位置,也就是要插入到脚本的第7行。
    ,ovCx h\K-yh9678在脚本的第7行前插入一行空白行,然后输入 51Testing软件测试网_WF~Ln$S}f v
    web_reg_save_param(“UserSession”, 51Testing软件测试网M%eEe;^LS
    “UserSession” 这个 “UserSession” 就是到时要使用的参数名称,建议给个有意义的名字。 51Testing软件测试网z0G%l+n"C[Ve[-\l
    注意:到这里整个web_reg_save_param函数还没完成。 51Testing软件测试网4DfkpE*T aJ
    51Testing软件测试网5T DBJ#J4Wq;^
    2. 找出web_reg_save_param中要用到的边界
    ~D5I`:^-Cwh1z(O9678web_reg_save_param函数主要是透过动态数据的前面和后面的固定字符串,来辨识要撷取的动态数据的,所以我们还需要找出动态数据的边界字符串。
    1hF$x!Lpk6aGj9678找出左边界字符串
    ,b6sf;w8t [9678再回到Execution Log中,选取动态数据前的字符串并且复制它。 51Testing软件测试网I,r;|eYJB0_z
    这时会有个问题,到底要选取多少字符串才足以唯一识别要找的动态数据呢?建议是越多越好,但是尽量不要包含到特殊字符。 51Testing软件测试网[*m,s6AJ%J}Y
    在这边我们选取「input type=hidden name=userSession value=」字符串。选好之后,还要再确认一次这段字符串真的是可以唯一识别的,所以我们在Execution Log中透过Ctrl+F的搜寻,找找看这段字符串是否可以找到要找的动态数据。假如找不到,web_reg_save_param函数还有个ORD参数可以使用,ORD参数可以设定出现在第几次的字符串才是要找的字符串。 51Testing软件测试网(BIa4ij5k9fv9l
    将这个边界字符串加到未完成的web_reg_save_param函数中: 51Testing软件测试网,j:RAvxJ
    web_reg_save_param(“UserSession”, “LB= input type=hidden name=userSession value=”,
    uU;p N~R;mO g,`_9678找出右边界字符串
    ]D|'nI*l9678接下来要找出动态数据的右边界字符串,这个字符串就比较好找了,从动态数据的最后一个字符开始,通常就是我们要找的右边界字符串了。 51Testing软件测试网!`"hL&f@-l&u#_2L
    以这个例子来看,就是「>」,所以再把右边界字符串加入,web_reg_save_param函数中,这时web_reg_save_param函数已经快完成了。最后再加上「LAST);」就完成整个web_reg_save_param函数了。
    X}t&y&H2}9678web_reg_save_param(“UserSession”, “LB= input type=hidden name=userSession value=”, “RB=>”, LAST);
    (}(d-T:W)L4M967851Testing软件测试网@4WLT Rh.d
    将脚本中有用到关联的数据,以参数取代
    8v8Pz,o,E.bUA9678当使用web_reg_save_param建立参数后,接下来就是用“UserSession”参数去取代脚本中写死的(hard-coded)资料。
    `/uT1O7K9678范例: 51Testing软件测试网+K8H/[o-\4jm
    51Testing软件测试网*WLee,q"r s8N
    “Name=userSession”, “Value=75893.0884568651DQADHfApHDHfcDtccpfAttcf”, ENDITEM, 51Testing软件测试网F;E^-`;j#Q`&X p
    换成
    o;u|'|T?3y2dP8A9678“Name=userSession”, “Value={UserSession}”, ENDITEM,
    ?'y&r^D[Q967851Testing软件测试网'v b,Pm[7xg"{|7p9S
    到这里您已经完成了一个关联了,接下来就是执行脚本,是否能成功运行,假如还是有问题,就要检查看看是否还需要再做另一个关联。 51Testing软件测试网m(?1nQM5{4b;`
    关于 web_reg_save_param 函数 51Testing软件测试网^8gB2t h
    对于关联(correlation)来说,web_reg_save_param是最重要的一个函数,其功能是在下载的网页内容中,透过设定的边界字符串,找出特定的数据并将其储存在一个参数中,以供后续脚本使用。 51Testing软件测试网[O3k:T-r'i"p P
    接下来将针对web_reg_save_param做比较详细的说明。 51Testing软件测试网1WF1hS#s+W T
    Service and registration type function
    1DFa+t\$q9678web_reg_save_param是一个Service function。service function主要是用来完成一些特殊的
    工作的,如关联、设定proxy、提供认证信息等,当其作用时,不会对网页的内容做任何的修改。 51Testing软件测试网3V#U:u thh9c,n
    web_reg_save_param同时也是一个registration type function (只要函数名称中包含_reg_的字眼,表示其为registration type function)。registration type function意味着其真正作用的时机是在下一个action function完成时执行的。举例来说,当某个web_url执行时所接收到的网页内容中包含了要做关联的动态数据,则必须将web_reg_save_param放在此web_url之前,则web_reg_save_param会在web_url执行完毕后,也就是网页内容都下载完后,再执行web_reg_save_param找寻要做关联的动态数据并建立参数。
    ^ bE/o9t}tL R9678所以要记住一点,要使用registration type function时,要注意其放置的位置必须在要作用的action function之前。 51Testing软件测试网Cm'A7]1LA7UNx
    语法
    YTrZ$k;d }lr4C9678int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);
    +W#{'O;?jyy;G9678参数说明
    (v'S|FGx/IVa9678ParamName:存放动态数据的参数名称
    nBoMzI9678list of Attributes:其它属性,包含 Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, 以及 SaveLen。属性值不分大小写,例如 Search=all。以下将详细说明每个属性值的意义:
    ?B)E [6Sw0Z5@1T9678• Notfound:指定当找不到要找的动态数据时该怎么处置。 51Testing软件测试网B[ S&Wh2BX5d*n
    o Notfound=error:当找不到动态数据时,发出一个错误讯息。假如没设定此属性,此为LoadRunner的默认值。 51Testing软件测试网1D}2v |$B)QA
    o Notfound=warning:当找不到动态数据时,不发出错误讯息,只发出警告,脚本也会继续执行下去不会中断。在对角本除错时,可以使用此属性值。
    4l/Nk \rf1y%m2PMm9678• LB:动态数据的左边界字符串。此属性质是必须要有的,而且区分大小写。
    !_K)BD]-ui/M9678• RB:动态数据的右边界字符串。此属性质是必须要有的,而且区分大小写。
    j ?o c#c+A;x2sR9678• RelFrameID:相对于URL而言,欲搜寻的网页的Frame。此属性质可以是All或是数字,而且可有可无。 51Testing软件测试网 Oqz@ M"hi
    • Search:搜寻的范围。可以是Headers(只搜寻headers)、Body(只搜寻body部分,不搜寻header)、Noresource(只搜寻body部分,不搜寻header与resource)或是All(搜寻全部范围,此为默认值)。此属性质可有可无。
    S?.NBU3| F9678• ORD:指明从第几次出现的左边界开始才是要撷取的数据。此属性质可有可无,默认值是1。假如值为All,则所有找到符合的数据会储存在数组中。 51Testing软件测试网7N,dN9L-op-F`.a&d
    • SaveOffset:当找到符合的动态数据时,从第几个字符开始才开始储存到参数中。此属性质不可为负数,其默认值为0。
    aI7A#xF9678• Convert:可能的值有二种: 51Testing软件测试网 ~;Dh7A&HXY
    o HTML_TO_URL: 将HTML-encoded数据转成URL-encoded数据格式
    4`?^.Bk `5QZ9678o HTML_TO_TEXT:将HTML-encoded数据转成纯文字数据格式
    "g$R?ZY9678• SaveLen:从offect开始算起,到指定的长度内的字符串,才储存到参数中。此参数可有可无,默认值是-1,表示储存到结尾整个字符串。 51Testing软件测试网*ca-s#E0z7\)u"k
    范例
    ?`s4w'e.@9678web_reg_save_param("A", "LB/ic=<a href=", "RB='>", "Ord=All", LAST);nner会搜寻网页中所有以 「<a href=」 开头,且以 「’>」结束,当中包含的字符串,并且储存在「A」参数中。
    NY/V:QfT!\5E9678Tips and Tricks 51Testing软件测试网_9Z.J6J(e\SIa6I
    以下提供一些关联的常见问题:
    Mf/jl;[AQd8p9678• 如何打印出参数值?
    YF0[3^ZQS2o9678lr_output_message这二个函数来做到。例如:
    PDy[c \A&o;S:g9678lr_output_message(“Value Captured = %s”, lr_eval_string(“{ParameterName}”));
    &eAW{Qn9678lr_eval_string与lr_output_message函数的使用说明请参考LoadRunner Online Function Reference。 51Testing软件测试网)ovXc4l f8KK
    • 在脚本的data目录下找不到路制时的快照(snapshot)
    i#e2@8[ Q5F n9678造成在脚本的data目录下找不到路制时的快照(snapshot)的可能原因如下: 51Testing软件测试网+V&a!c6]e(|
    o 脚本是由VuGen 6.02或更早的版本所录制的 51Testing软件测试网a+m,flW2t6K"T
    o 汇入的Action不会包含快照(snapshot)的档案 51Testing软件测试网P9FZ xN w+y6Hq
    o 脚本是储存在只读的目录下,早成VuGen无法储存执行时撷取的快照(snapshot) 51Testing软件测试网Z1]7k)YvdM``M
    o 某些步骤并不会产生快照(snapshot),如浏览某个资源 51Testing软件测试网.Ne'C0zc!t
    o 快照(snapshot)功能被取消 51Testing软件测试网2~ Ru6m"Y*DL
    【Tools】>【General options】>【Correlation】tab >【Save correlation information during replay】
    5w2u(P$p9I-K9678• 开启WinDiff时出现「File no longer available」的错误讯息
    t ktnH6z K8w"t`9678WinDiff这个工具有些限制,无法开启包含空格符的目录或是脚本,所以建议命名时不要使用空格符,并且尽可能将名称取短一点。
    'Rq}x+f1{s-n9678• 录制时突然跳出【Correlation warning】对话窗口
    q\/`"o,F voDh9678当你有勾选自动关联的【Issue a popup message and let me decide online】选项,当VuGen发现有可能要做关联的数据时,就会跳出【Correlation warning】的窗口,询问你要做关联(Correlation in scrīpt)还是要忽略(Ignore)。 51Testing软件测试网9JL'z} v,_P
    另外你也可以勾选【Perform correlation in scrīpt】,让VuGen自动作关联,不会再跳出询问窗口。
    "j*ga^r `n'ep9678或是勾选【Disable correlation engine】,关闭自动关联的功能。 51Testing软件测试网]4jSX.[H^s@ @R

    /xSm~ G(]Aq j9G}9678• 如何手动启动「Scan action for correlation」的功能
    #u] PaQ3c5ey-q5{9678要手动启动「Scan action for correlation」的功能,请先执行脚本一次后,点选【Vuser】>【Scan Action for Correlation】。
    ;o5\*|$^)A"mq6_}967851Testing软件测试网"ya;Z;?UVtI`
    • 执行完脚本后并未出现【Scan Action for Correlation】窗口 51Testing软件测试网(rU4q|)US-n"e7o
    要启用【Scan Action for Correlation】功能,请点选【Tools】>【General options】>【Correlation】tab,勾选【Show Scan for correlation popup after replay of Vuser】选项

Open Toolbar