51Testing软件测试论坛

标题: 我快因为丢失session疯了 [打印本页]

作者: Sky.    时间: 2017-10-10 14:40
标题: 我快因为丢失session疯了
可否请教一下
在脚本中使用web_reg_save_param_ex函数,回放时没有问题日志中可以看到参数替换成功,且迭代很多次都没问题
但是在场景里面多用户并发跑的时候,随着用户的增加会开始报错-26377 提示取不到参数,加日志发现是因为服务器返回了Error信息造成没有取到参数
与开发分析之后,开发说发现服务器返回error的原因是因为丢失了用户ID(丢失了登录信息)
奇怪的是丢失之后下一次迭代还能正常获取参数(如果丢了登录信息,难道不应该是这个用户之后所有的迭代都无法进行了吗,毕竟登陆的操作只在Init中执行了一次啊
我想问,这个丢失用户ID是LR的问题吗还是我脚本的问题呢 这已经卡了好久了  测试都做不下去了
作者: Sky.    时间: 2017-10-10 14:47
Action()
{

//Correlation comment - Do not change!Original value='7DB28BC0A07F328186A104E4EE79FA0A72CD2EF5F1319FA92C1AFA1B81E8F7ADF164A0FE92F744BD' Name ='CorrelationParameter_1'

        web_reg_save_param_ex(
                "ParamName=CorrelationParameter_1",
                "LB=ReceiptHandle\":\"",
                "RB=\",",
                SEARCH_FILTERS,
                "Scope=Body",
                "RequestUrl=*/ExamScoreImage*",
                LAST);

//Correlation comment - Do not change!Original value='620402100218' Name ='CorrelationParameter_2'

        web_reg_save_param_ex(
                "ParamName=CorrelationParameter_2",
                "LB=ExamCardNo\":\"",
                "RB=\",",
                SEARCH_FILTERS,
                "Scope=Body",
                "RequestUrl=*/ExamScoreImage*",
                LAST);

//Correlation comment - Do not change!Original value='e2f3d873-f7f2-4d0e-b3ab-9126584714ef' Name ='CorrelationParameter_3'

        web_reg_save_param_ex(
                "ParamName=CorrelationParameter_3",
                "LB=ExamStudentId\":\"",
                "RB=\",",
                SEARCH_FILTERS,
                "Scope=Body",
                "RequestUrl=*/ExamScoreImage*",
                LAST);

//Correlation comment - Do not change!Original value='20171009152307' Name ='CorrelationParameter_4'

        web_reg_save_param_ex(
                "ParamName=CorrelationParameter_4",
                "LB=BeginTime\":\"",
                "RB=\",",
                SEARCH_FILTERS,
                "Scope=Body",
                "RequestUrl=*/ExamScoreImage*",
                LAST);

        web_submit_data("ExamScoreImage",
                "Action=http://sandbox-omr2.xiaotiyun.com/Subjective/Score/ExamScoreImage?r=0.722768436506722&questionId=2f679544-6fe9-474e-af8c-b43c5c753d65&readCount=1&isArbitration=0",
                "Method=POST",
                "RecContentType=application/json",
                "Referer=http://sandbox-omr2.xiaotiyun.com/Subjective/Score/ScoreList?Id=0E3F747075C4E14DF363CF48FFE8CD124AE737286E7A6000E38D9FEC5D3EE1DD99D44096CD6E306F",
                "Snapshot=t5.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=X-Requested-With", "Value=XMLHttpRequest", ENDITEM,
                LAST);

        web_submit_data("ScoreEdit",
                "Action=http://sandbox-omr2.xiaotiyun.com/Subjective/Score/ScoreEdit?Length=5",
                "Method=POST",
                "RecContentType=application/json",
                "Referer=http://sandbox-omr2.xiaotiyun.com/Subjective/Score/ScoreList?Id=0E3F747075C4E14DF363CF48FFE8CD124AE737286E7A6000E38D9FEC5D3EE1DD99D44096CD6E306F",
                "Snapshot=t6.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=QuestionNum", "Value={题号}", ENDITEM,
                "Name=QuestionId", "Value={题号ID}", ENDITEM,
                "Name=ReceiptHandle", "Value={CorrelationParameter_1}", ENDITEM,
                "Name=ReadCount", "Value=1", ENDITEM,
                "Name=ExamImage", "Value=", ENDITEM,
                "Name=FullScore", "Value=10.0", ENDITEM,
                "Name=ActualNums", "Value=0", ENDITEM,
                "Name=Score", "Value=5", ENDITEM,
                "Name=ScoreInterval", "Value=1.0", ENDITEM,
                "Name=ScoreDeviation", "Value=0.0", ENDITEM,
                "Name=IsTypical", "Value=0", ENDITEM,
                "Name=ExamRecordId", "Value=00000000-0000-0000-0000-000000000000", ENDITEM,
                "Name=IsExamRecord", "Value=0", ENDITEM,
                "Name=IsAllExamRecord", "Value=0", ENDITEM,
                "Name=IsArbitration", "Value=0", ENDITEM,
                "Name=BeginTime", "Value={CorrelationParameter_4}", ENDITEM,
                "Name=RecordNumber", "Value=0", ENDITEM,
                "Name=ExamStudentId", "Value={CorrelationParameter_3}", ENDITEM,
                "Name=ExamCardNo", "Value={CorrelationParameter_2}", ENDITEM,
                "Name=JsonData", "Value=", ENDITEM,
                "Name=X-Requested-With", "Value=XMLHttpRequest", ENDITEM,
                LAST);

       

return 0;
}

作者: Sky.    时间: 2017-10-10 14:59
求大佬给点建议
作者: msnshow    时间: 2017-10-10 15:18
登陆session是自动传递的吧,一般不会丢失

你可以打开回放窗口看具体是怎么情况不通过,回放的时候 有界面可以看的
作者: msnshow    时间: 2017-10-10 15:35
你可以检查下,是不是你有的账号有问题,登陆会不成功

或者同一个账号是否有限制同时多人登陆,这样2个用户用同一账号登陆,会导致前面的账号退出登陆
作者: Sky.    时间: 2017-10-10 16:02
msnshow 发表于 2017-10-10 15:18
登陆session是自动传递的吧,一般不会丢失

你可以打开回放窗口看具体是怎么情况不通过,回放的时候 有界 ...

回放的时候不管跑多少次都不会报错。。。就是在场景里面多用户并发的时候才会有这种情况,报错的原因是因为服务器判断我丢失了用户登录信息,登录的验证我问过开发了  他说登录的时候没有Cookie信息,只存服务器端的Session
我现在不知道到底是我脚本的问题还是程序的问题
作者: Sky.    时间: 2017-10-10 16:04
msnshow 发表于 2017-10-10 15:35
你可以检查下,是不是你有的账号有问题,登陆会不成功

或者同一个账号是否有限制同时多人登陆,这样2个 ...

都已经试过了,,,,没有登陆限制。。账号也都没问题
作者: jingzizx    时间: 2017-10-11 08:05
感觉最好和开发一起调试下,从少用户并发开始,分析到底是哪里出了问题
作者: Sky.    时间: 2017-10-11 10:20
jingzizx 发表于 2017-10-11 08:05
感觉最好和开发一起调试下,从少用户并发开始,分析到底是哪里出了问题

谢谢建议    今天已经解决了,开发那里只是告诉我报错是因为丢了session,登录信息验证失败就报错了,我今天在init里面加了一组cookie  然后就好了。。。。虽然我也不太明白是因为啥。。。
作者: 时常学习    时间: 2017-10-13 11:36
Sky. 发表于 2017-10-11 10:20
谢谢建议    今天已经解决了,开发那里只是告诉我报错是因为丢了session,登录信息验证失败就报错了,我 ...

没遇到过,学习了




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