2017-08-10 55 views
0

我在使用多个并发用户运行的LR脚本时遇到问题。脚本创建一个药物,然后删除它。脚本通过,LR认为它实际上删除了med,但它不会,并且我们的系统错误日志中出现错误。例如,我可以用这个脚本运行20分钟/ 1次Vuser测试,它可以正常工作,药物被删除,日志中没有错误。另外,当从LR控制器重放脚本时,它也可以正常工作。LoadRunner,运行脚本的超过1个Vuser的后端错误

与2+用户一起运行时,出现问题时。我的DBA说我们日志中的错误被抛出,因为MedDC.asp页面上的存储过程逻辑尝试更新患者列表,并且PatientUserCode没有通过。他不知道为什么会发生这种情况,或者如何解决这个问题。

我试过手动关联参数值许多不同的方式,并没有成功。有什么我可以做我的脚本来解决这个问题吗?这里是我的删除med的脚本代码部分,包括相关参数代码。任何帮助表示赞赏。

相关参数逻辑

web_reg_save_param_regexp(
    "ParamName=MedDC.asp?DelMedID", 
    "RegExp=cb\\ value=\"(.*?)\\|MedOnly", 
    SEARCH_FILTERS, 
    "Scope=Body", 
    "IgnoreRedirections=No", 
    LAST); 

web_convert_param("MedDC.asp?DelMedID_URL2", 
    "SourceString=MedDC.asp?DelMedID", 
    "SourceEncoding=HTML", 
    "TargetEncoding=URL", 
    LAST); 

删除MED脚本逻辑

lr_think_time(40); 

web_url("MedDC.asp", 
    "URL=https://tempv2.docsynergy.com/DocSynergy/CentralMR/MedDC.asp?PatientUserCode=360690&ID={MedDC.asp?DelMedID}&OrderID=&EditType=DCMed", 
    "Resource=0", 
    "RecContentType=text/html", 
    "Referer=https://tempv2.docsynergy.com/DocSynergy/CentralMR/PatientInfo.asp?PatientUserCode=360690", 
    "Snapshot=t125.inf", 
    "Mode=HTTP", 
    LAST); 

web_concurrent_start(NULL); 

web_url("iframeCal.htm_2", 
    "URL=https://tempv2.docsynergy.com/scriptfiles/jscriptlib/iframeCal.htm", 
    "Resource=0", 
    "RecContentType=text/html", 
    "Referer=https://tempv2.docsynergy.com/DocSynergy/CentralMR/MedDC.asp?PatientUserCode=360690&ID={MedDC.asp?DelMedID_URL2}&OrderID=&EditType=DCMed", 
    "Snapshot=t126.inf", 
    "Mode=HTTP", 
    LAST); 

web_url("Blank.htm_22", 
    "URL=https://tempv2.docsynergy.com/DocSynergy/CentralMR/Blank.htm", 
    "Resource=0", 
    "RecContentType=text/html", 
    "Referer=https://tempv2.docsynergy.com/DocSynergy/CentralMR/MedDC.asp?PatientUserCode=360690&ID={MedDC.asp?DelMedID_URL2}&OrderID=&EditType=DCMed", 
    "Snapshot=t127.inf", 
    "Mode=HTTP", 
    LAST); 

web_concurrent_end(NULL); 

/* Discontinue box is displayed. */ 

/* Clicked delete, click OK on delete pop-up. */ 

web_add_cookie("IdleStartTime=Wed%20Aug%209%2015%3A17%3A43%20CDT%202017; DOMAIN=tempv2.docsynergy.com"); 

lr_think_time(51); 

web_url("MedDC.asp_2", 
    "URL=https://tempv2.docsynergy.com/DocSynergy/CentralMR/MedDC.asp?DelMedID={MedDC.asp?DelMedID}", 
    "Resource=0", 
    "RecContentType=text/html", 
    "Referer=https://tempv2.docsynergy.com/DocSynergy/CentralMR/MedDC.asp?PatientUserCode=360690&ID={MedDC.asp?DelMedID_URL2}&OrderID=&EditType=DCMed", 
    "Snapshot=t128.inf", 
    "Mode=HTTP", 
    LAST); 

回答

0

将两名医生每天使用同一个病人ID?您可能因删除失败,因为记录/页面在数据库中针对这些操作被锁定,因为您在第二位用户的同一患者ID上有更新。

+0

好点,这并不罕见,但我想在同一时间会出现不常见的情况。如何让脚本从设定范围中随机选择一个PatientUserCode。这可能是一个解决方案,但我不知道如何做到这一点。任何关于如何做到这一点的建议? – Joseph

+0

请参阅参数 –

+0

谢谢,所以我得到了参数化,以便为PatientUserCode工作,并为10名患者设置参数文件,并运行了5次用户负载测试,并验证了多个患者的药物。但是,我们仍然充斥着日志中的错误,因此只有在通过多个用户的负载生成器运行时才会发生混淆。我们的开发人员还对该页面进行了额外的代码更改,以确保没有PatientUserCode可以作为空值传递。 – Joseph