51Testing软件测试论坛

标题: LR中录制下拉框出现的问题 [打印本页]

作者: Joan2005    时间: 2007-1-25 13:20
标题: LR中录制下拉框出现的问题
通过各个下拉框的值及输入值,生成一个编号.该编号存在内存中.最后保存编号及部分下拉框的值及输入值到数据库.
录制脚本后,提交的数据都是页面中下拉框及输入的值,没有提交生成的编号.
如果在提交数据前做关联,保存该生成的编号.可在后面提交的数据中,并没有使用该参数.
回放脚本能成功,但记录写不进数据库.该如何解决呢?
部分脚本如下:
"保存"事务中,是各个下拉框的值及一些输入值.

        lr_start_transaction("产生编号");

        web_submit_form("ProjectInput.aspx_3",
                "Snapshot=t5.inf",
                ITEMDATA,
                "Name=drplst_WorkCompany", "Value=电缆工程公司", ENDITEM,
                "Name=drplst_ProjectSource", "Value=工程建设部", ENDITEM,
                "Name=drplst_ProjectInvestor", "Value=城网工程", ENDITEM,
                "Name=drplst_WorkArea", "Value=市区", ENDITEM,
                "Name=drplst_ProjectSpecialty", "Value=电缆", ENDITEM,
                "Name=txt_AccredNO", "Value=NEW001", ENDITEM,
                "Name=dtp_AccredInputDate$dateTextBox", "Value={wtdata}", ENDITEM,
                "Name=drplst_Operator", "Value=yusuanyuan01", ENDITEM,
                "Name=chk_IfBorrow", "Value=on", ENDITEM,
                "Name=chk_IfAuditing", "Value=<OFF>", ENDITEM,
                "Name=chk_IfDesign", "Value=<OFF>", ENDITEM,
                "Name=chk_IfSupervise", "Value=<OFF>", ENDITEM,
                "Name=txt_BorrowID", "Value=borrow001", ENDITEM,
                "Name=dtp_BorrowDate$dateTextBox", "Value={jldata}", ENDITEM,
                "Name=txt_BorrowPerson", "Value=1", ENDITEM,
                "Name=txt_BorrowWarrantor", "Value=1", ENDITEM,
                "Name=txt_BorrowSanctifier", "Value=1", ENDITEM,
                "Name=txt_BorrowReason", "Value=1", ENDITEM,
                "Name=btn_Comfirm", "Value=", ENDITEM,
                EXTRARES,
                "Url=../styles/CommonInput.htc", "Referer=", ENDITEM,
                "Url=../images/b017.gif", ENDITEM,
                "Url=../images/15.gif", ENDITEM,
                "Url=../images/btn.gif", ENDITEM,
                LAST);


        lr_end_transaction("产生编号", LR_AUTO);


        /*
         * 提交数据.
         */


        lr_start_transaction("保存");

        web_submit_form("ProjectInput.aspx_4",
                "Snapshot=t6.inf",
                ITEMDATA,
                "Name=drplst_WorkCompany", "Value=电缆工程公司", ENDITEM,
                "Name=drplst_ProjectSource", "Value=工程建设部", ENDITEM,
                "Name=drplst_ProjectInvestor", "Value=城网工程", ENDITEM,
                "Name=drplst_WorkArea", "Value=市区", ENDITEM,
                "Name=drplst_ProjectSpecialty", "Value=电缆", ENDITEM,
                "Name=txt_AccredNO", "Value=NEW001", ENDITEM,
                "Name=dtp_AccredInputDate$dateTextBox", "Value={wtdata}", ENDITEM,
                "Name=drplst_Operator", "Value=yusuanyuan01", ENDITEM,
                "Name=chk_IfBorrow", "Value=<OFF>", ENDITEM,
                "Name=chk_IfAuditing", "Value=<OFF>", ENDITEM,
                "Name=chk_IfDesign", "Value=<OFF>", ENDITEM,
                "Name=chk_IfSupervise", "Value=<OFF>", ENDITEM,
                "Name=txt_BorrowID", "Value=borrow001", ENDITEM,
                "Name=dtp_BorrowDate$dateTextBox", "Value={jldata}", ENDITEM,
                "Name=txt_BorrowPerson", "Value=1", ENDITEM,
                "Name=txt_BorrowWarrantor", "Value=1", ENDITEM,
                "Name=txt_BorrowSanctifier", "Value=1", ENDITEM,
                "Name=txt_BorrowReason", "Value=1", ENDITEM,
                "Name=btn_Save", "Value=开 始", ENDITEM,
                LAST);

        web_url("WorkTable.aspx",
                "URL=http://172.23.163.182/GCGL/Main/WorkTable.aspx",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://172.23.163.182/GCGL/main/main.aspx",
                "Snapshot=t7.inf",
                "Mode=HTML",
                LAST);


        lr_end_transaction("保存", LR_AUTO);

        return 0;
作者: xiaoyao520    时间: 2007-1-25 14:18
做关联的话,第一个必须确保你这个生成的编号是通过response返回到了客户端页面,这样才有可能关联,第二个,如果这个编号是有序地生成的话,那你也可以通过算法来获取这个编号.


还有就是,你的程序在录制时候的,viewstate没有关联,即使你能成功回放,添加数据也没有成功.
所以最好是问清楚这个业务流程,代码传递值是怎么实现的.
作者: tongfenglcz    时间: 2007-1-25 14:21
I think you should use Correlation!
作者: Joan2005    时间: 2007-1-26 08:50
过程是这样的,点击产生编号时,编号存在session的一张临时表中.---点击保存时,在session中datatable循环存进db.(临时表是利用.net里的datatable对象,把对象放到内存中)

可以依次产生多个编号后,最后一次性存入数据库.
作者: qi_cy    时间: 2007-1-31 11:02
如果是这样的话,是不是可以通过关联保存参数,然后参数化依次产生的编号,编号的取值利用随机数生成。




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