2017-08-10 3 views
0

複数の同時ユーザーで実行されているLRスクリプトに問題があります。スクリプトは投薬を作成し、それを削除します。スクリプトはパスし、LRは実際にmedを削除すると考えますが、それはしません。システムエラーログにエラーが表示されます。たとえば、このスクリプトを使用して20分/ 1仮想ユーザテストを実行すると正常に動作し、薬が削除され、ログにエラーはありません。また、LRコントローラからスクリプトを再生するときも、正常に動作します。LoadRunner、複数のVuserを持つスクリプトを実行しているバックエンドエラー

2人以上のユーザーで実行している場合は、問題が発生したときです。 My DBAは、MedDC.aspページのストアドプロシージャロジックが患者リストを更新しようとし、PatientUserCodeが通過しないため、ログのエラーがスローされると言います。彼はこれがなぜ起こっているのか、それをどう解決するのかを知りません。

私は手作業でパラメータ値をさまざまな方法で相関させましたが、どれも成功しませんでした。これを回避するためにスクリプトに何かできることはありますか?相関パラメータコードを含むmedを削除するためのスクリプトコードのセクションです。どんな助けもありがとうございます。

相関パラメータのすべてが同じ患者IDを使用

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

う2医師の削除ロジック?同じ患者IDで2人目のユーザーからの更新があると、レコード/ページがDBのこれらのアクションに対してロックされるため、削除に失敗する可能性があります。

+0

良い点は、それは珍しいことではありませんが、私が思うのと同時に起こることは珍しいことです。スクリプトを設定した範囲からPatientUserCodeをランダムに選択することはどうでしょうか。それは決議かもしれませんが、私はそれをどうやって行うのか分かりません。どのように私はそれを行うことができるかについてのアドバイス? – Joseph

+0

パラメータ化を参照してください –

+0

ありがとうございます。私はPatientUserCodeで動作するパラメータ化を取得し、10人の患者のパラメータファイルをセットアップし、5ユーザーの負荷テストを実行し、複数の患者に検証済みの医薬品を提出しました。しかし、私たちはまだログのエラーでいっぱいになってしまったので、複数のユーザーでロードジェネレータを介して実行している場合にのみ起こることは非常に混乱しています。私たちの開発者は、PatientUserCodeをNull値として渡すことができないように、そのページにコードを追加変更しました。 – Joseph

関連する問題