51Testing软件测试论坛

标题: 如何使用代码将parameter list 导入的数据取出来? [打印本页]

作者: hugh007    时间: 2008-3-29 17:14
标题: 如何使用代码将parameter list 导入的数据取出来?
我已经把excel文件的数据导入到parameter list中,如何使用代码将parameter list中的数据取出来呢?望高手指点。多谢
作者: 云层    时间: 2008-3-30 22:46
如果你要在lr中使用直接用lr_eval_string("{参数名}")就可以了
作者: hugh007    时间: 2008-3-31 11:00
不太明白楼上兄弟的意思,lr_eval_string这个函数好象只是转换字符串用的,不是用于取数据的?
作者: frankwangzy1103    时间: 2008-3-31 11:24
edit with notepad,然后以csv格式保存
再保存成excel文件就行了。
作者: hugh007    时间: 2008-3-31 14:38
我看是大家错误理解了我的意思,我是想把excel中的数据,导入到loadrunner中,使用代码把数据逐个取出,也就是迭带。
现在可以通过ODBC源连接到excel文件,但是不知道如何使用代码取出数据,进行下一步操作,请高手指点。多谢了!
作者: 小孩    时间: 2008-3-31 14:45
parameter list
里面有一组数据名称 URL 一组数据名称叫 keyword
参数化前
web_url("Search.aspx",
                "URL=http://192.168.0.21/Search.aspx?keywords=bug",
                LAST);
参数化后
web_url("Search.aspx",
                "URL=http://{URL}/Search.aspx?keywords={keyword}",
                LAST);

[ 本帖最后由 小孩 于 2008-3-31 14:48 编辑 ]
作者: Zee    时间: 2008-3-31 19:08
你要是取出到replay log里,还是到文件里?

如果是到replay log里,直接设置run time settings里的log就可以了。
如果你是想取出来放到文件里,你可以用lr_eval_string把参数取出再write到你的文件里去。
作者: 云层    时间: 2008-3-31 23:45
原帖由 hugh007 于 2008-3-31 11:00 发表
不太明白楼上兄弟的意思,lr_eval_string这个函数好象只是转换字符串用的,不是用于取数据的?


如果你要在lr中使用直接用lr_eval_string("{参数名}")就可以了
你试试就知道了,多动手,比如你的参数叫做password

那么就在lr里面写
lr_eval_string("{password}")
打开lr的日志
你就能通过运行这个命令完成参数的输出
作者: liangjz    时间: 2008-3-31 23:50
云层和 zee、小孩 说的是 。

[ 本帖最后由 liangjz 于 2008-3-31 23:54 编辑 ]
作者: hugh007    时间: 2008-4-1 11:53
多谢兄弟们的回复,我是一个初学者,昨天研究了一下,按照帮助手册写了下面的代码:
parameter list 中file path:excel2.dat中的数据格式是:
A    B
1    10
2     11
3     12
4      13
5      14

设置如下:
Select next rows:Sequantial;
Update value on:Each iteration;
By number:2
First data line:1
运行以下代码
Action()
{

      lr_output_message("Iteration %s, A %s,B %s",

       lr_eval_string("{Iteration}"),

       lr_eval_string("{A}"),

           lr_eval_string("{B}"));

       lr_advance_param("A");

       lr_advance_param("B");

          lr_output_message("Iteration %s, A %s,B %s",

       lr_eval_string("{Iteration}"),

       lr_eval_string("{A}"),

           lr_eval_string("{B}"));
      
}

结果是:
Starting iteration 1.
Starting action Action.
Action.c(4): Iteration {Iteration}, A {A},B {B}
Action.c(16): Iteration {Iteration}, A {A},B {B}
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.

按照帮助说的,结果应该是
Starting iteration 1.
Starting action Action.
Action.c(4): Iteration {Iteration}, A {1},B {10}
Action.c(16): Iteration {Iteration}, A {2},B {11}
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.

请大家帮我看下,是什么原因啊?
作者: hugh007    时间: 2008-4-1 12:03
parameter type 是 file 类型
作者: hugh007    时间: 2008-4-1 14:22
终于解决了,感谢大家。
{parameter} 手写和通过系统生成,作用就是不一样
如果用手写的,放在“”中,被认为是字符串;
如果是通过系统功能生成,会是紫红色的。




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