当前位置: 首页 > news >正文

网站 架构 设计历史类网站策划

网站 架构 设计,历史类网站策划,wordpress自动加内链,免费国外网站对于这个问题#xff0c;通常我们可以采取以下三个途径来解决该问题#xff1a; 1、第一种方法#xff0c;也是最容易想到的#xff0c;在被测系统中暂时屏蔽验证功能#xff0c;也就是说#xff0c;临时修改应用#xff0c;无论用户输入的是什么验证码#xff0c;都… 对于这个问题通常我们可以采取以下三个途径来解决该问题  1、第一种方法也是最容易想到的在被测系统中暂时屏蔽验证功能也就是说临时修改应用无论用户输入的是什么验证码都认为是正确的。这种方法最容易实现对测试结果也不会有太大的影响当然这种方式去掉了“验证验证码”这个环节不过这个环节本来就很难成为系统性能瓶颈。但这种方法有一个致命的问题如果被测系统是一个实际已上线的系统屏蔽验证功能会对已经在运行的业务造成非常大的安全性的风险因此对于已上线的系统来说用这种方式就不合适了      2、第二种方法在第一种方法的基础上稍微进行一些改进。第一种方法带来了很大的安全性问题那么我们可以考虑不取消验证但在其中留一个后门我们设定一个所谓的“万能验证码”只要用户输入这个“万能验证码”我们就验证通过否则还是按照原先的验证方式进行验证。这种方式仍然存在安全性的问题但由于我们可以通过管理手段将“万能验证码”控制在一个小的范围内而且只在性能测试期间保留这个小小的后门相对第一种方法来说在安全性方面已经有较大的改进了 3、如果安全性对应用来说真的是至关重要的不容许有一丝一毫的闪失那我们还可以用更进一步的方法来处理这个问题。a)一般的性能测试工具MI的LR、Seague的Silk performer等都能够调用外部的DLL或是组件接口因此可以考虑获得“验证码验证”部分的实现写一个验证码获取的DLL在测试脚本中进行调用即可。  b)或者用一个请求去刷新认证码页面然后通过关联将返回的图片保存为硬盘的一个文件然后用ocr(光学字符识别)去识别这个文件内容保存结果到txt最后用LR读这个文本。 方法a)示例 在脚本里添加函数解决验证码的问题当然这种方法绕过服务器但还是可行的 步骤一编写一个GUID.h的头文件里面包含一个由26个字母和9个数字随机产生的一串随机数的GUID方法代码如下 //GUID.hchar* lr_guid_gen(char* paramName){ //生成GUID方法 typedef struct _GUID { unsigned long Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[8]; } GUID; GUID m_guid; char buf[50]; char pNameStr[50]; CoCreateGuid(m_guid); // 定义输出格式 sprintf (buf, {%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}, // 大写 // sprintf (buf, {%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x},// 小写 //sprintf (buf, %08lX%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X,// 小写 m_guid.Data1, m_guid.Data2, m_guid.Data3, m_guid.Data4[0], m_guid.Data4[1], m_guid.Data4[2], m_guid.Data4[3], m_guid.Data4[4], m_guid.Data4[5], m_guid.Data4[6], m_guid.Data4[7]); lr_save_string(buf, paramName); sprintf(pNameStr,{%s},paramName); return lr_eval_string(pNameStr); } 步骤二然后再编写一个头文件verify.h里面包含一个获取上面生成随机字符串的验证码比如下面代码获取上述字符串的第5位开始截取六个长度的验证码 //verify.h 验证码头文件#define VALIDATESTART5//default 5 #define VALIDATENUM6//default 6//!!!!!warn: must free the return point in your own program, or it will leak memory char* GetValidate(char *str) { // init some var char *pSrc str; char *pDst NULL; char *pHeader NULL; int cnt 0; //the current num of character in the pHeaderif (pSrc NULL) //chech the string is validate or not { return NULL; } pDst (char *)malloc(sizeof(char)*(VALIDATENUM 1)); //malloc dynamic memory pHeader pDst;//record the head addr pSrc pSrc (VALIDATESTART - 1);//find the start pos while (*pSrc ! \0 cnt ! VALIDATENUM) { if ( *pSrc ! -) { *pDst *pSrc; cnt; } pSrc; } *pDst \0;//add the last end character \0 return pHeader; } 步骤三将两个头文件加入globals.h里我们就可以调用这两个函数了不如在action调用可以再脚本前面加上如下代码 char *test;char *test1;lr_load_dll(ole32.dll); //引用windows生成GUID的APItestlr_guid_gen(GUID); //调用上面lr_guid_gen()方法lr_save_string(test,GUID);lr_output_message(test);lr_output_message(xxxxxxxxxxxxx:%s,lr_eval_string({GUID})); //生成随机字符串test1GetValidate(test); //获取验证码lr_save_string(test1,ID);lr_output_message(%s,lr_eval_string({ID}));这样就算完成了记得加入一句获取验证码图片的脚本哦 方法b)示例 代码如下 Action(){ int flen; //定义一个整型变量保存获得文件的大小long filedes; //保存文件句柄char file[256]D:\\test1.png; //保存文件路径及文件名char result[5]; //存放验证码的必须大于验证码的位数web_set_max_html_param_len(20000); //设置参数的最大长度注意该值必须大于文件的大小web_url(login, URLhttp://X.X.X.X/Kindergarten/login/login, Resource0, RecContentTypetext/html, Referer, Snapshott1.inf, ModeHTTP, LAST); //使用关联函数获取下载文件的内容在这里不定义左右边界获得服务器响应的所有内容 web_reg_save_param(pic,LB,RB,SEARCHBODY,LAST);//发送下载验证码的请求 web_url(voliCode, URLhttp://X.X.X.X/Kindergarten/login/voliCode?d1446432884699, Resource0, RecContentTypetext/html, Referer, Snapshott1.inf, ModeHTTP, LAST); flen web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE); //获取响应中的文件长度if(flen 0) {//以写方式打开文件if((filedes fopen(file, wb)) NULL){lr_output_message(打开文件失败!);return -1;}fwrite(lr_eval_string({pic}), flen, 1, filedes); //写入文件内容fclose(filedes); //关闭文件}system(D:\\test.bat);if((filedesfopen(D:\\test.txt,rt)) NULL){lr_output_message(打开test.txt文件失败!);return -1;} fread(result,4,1,filedes);fclose(filedes); lr_output_message(the velue3 is: %s,result); lr_save_string(result,check); lr_output_message(the check is %s,lr_eval_string({check}));lr_start_transaction(登录);web_submit_data(userLogin, Actionhttp://X.X.X.X/Kindergarten/login/userLogin, MethodPOST, RecContentTypetext/html, Refererhttp://X.X.X.X/Kindergarten/login/login, Snapshott13.inf, ModeHTTP, ITEMDATA, Nameusername, Value17715290001, ENDITEM, Namepassword, Value123456, ENDITEM, Namecode, Value{check}, ENDITEM, LAST); lr_end_transaction(登录,LR_AUTO);//验证登录是否成功登录进去后再提交一次数据交互的请求 lr_start_transaction(修改密码);web_submit_data(changePwd, Actionhttp://X.X.X.X/Kindergarten/sys/changePwd, MethodPOST, RecContentTypeapplication/json, Refererhttp://X.X.X.X/Kindergarten/sys/changePwdView, Snapshott53.inf, ModeHTTP, ITEMDATA, NameoPwd, Value123456, ENDITEM, NamenPwd, Valueqwaszx, ENDITEM, NamenPwd2, Valueqwaszx, ENDITEM, LAST);lr_end_transaction(修改密码,LR_AUTO);return 0;} 备注 1、char result[5]这个是定义存放验证码的必须大于验证码的位数否则最后文件读出来的验证码后面会自动加入几个乱码字符 2、 system(D:\\test.bat);  执行test.bat注意D盘和test.bat之间是\\盘符要转义  test.bat内容如下 D:\InstallSoftware\Tesseract-OCR\tesseract.exe d:\test1.png d:\test -1   tesseract.exe必须安装目录也写进去 3、我测试的系统登录的url是 http://X.X.X.X/Kindergarten/login/login, 如果直接获取该网址的文件来获取验证码文件太大会失败可以用火狐浏览器打开该网址然后选中验证码右键直接查看获取验证码的url即http://X.X.X.X/Kindergarten/login/voliCode?d1446432884699 然后再使用关联函数 web_reg_save_param获取 该url的下载内容 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.zqtcl.cn/news/404937/

相关文章:

  • 兴义市建设局网站首页网站开发项目实训总结
  • 个人网站空间收费网络软文营销案例
  • 网站开发文件结构组成微网站移交
  • 西安全网优化 西安网站推广网页浏览器缩略词
  • 网站开发及企业推广营销型网站建设怎么收费
  • 网站建设与管理ppt课件百度云盘关键词推广营销
  • c asp.net网站开发书宁波建设业协会网站
  • 政务网站建设发言材料知名互联网公司有哪些
  • 网站搭建制作建e室内设计网画图
  • 重庆市建设工程施工安全管理信息网北京seo公司网站
  • 国外做调查问卷的网站建设邮费自己的网站 要不要购买服务器的
  • 网站建设和优化排名四川建设网官网证书查询入口
  • 如何搜名字搜到自己做的网站电子商务平台icp备案证明
  • 网站建设与管理工作内容北京网站建设价
  • 做网站选哪个语言软文营销的方法
  • 青岛正规公司网站建设公司中国建设银行注册网站
  • 免费个人网站平台关键词检索
  • 定制型网站建设推广宁河网站建设
  • 主流网站开发语言有哪些电子邮件营销
  • 扫描二维码进入公司网站怎样做在万网上域名了怎么做网站
  • 销售型网站设计怎么做网站广告位
  • 网站推广的方法ppt购物网站logo
  • 网站关键词分割wordpress为展示的作品投票
  • 建立网站 域名 服务器吗wordpress超链接出错
  • 外贸开发网站建设注册会计师协会
  • 莆田建设网站dw网页设计作品及源码
  • 360免费建站视频淘宝客的网站怎么做
  • 四川自助seo建站短视频推广计划
  • 网站建设案例的公司黄冈网站建设公司
  • 做淘客网站需要营业执照吗制作网站公