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

海南省澄迈住房和城乡建设厅网站网站建设维护更新

海南省澄迈住房和城乡建设厅网站,网站建设维护更新,学编程从哪儿入手,如何做网站优化的内容近期#xff0c;由于某项目验收需要#xff0c;需要登录接口同时满足至少400个账号同时并发登录#xff0c;于是开始编写测试代码#xff0c;以满足项目业务需要。首先#xff0c;安装jdk#xff0c;由于本机已安装jdk8#xff1a; 如果你机器上没有安装jdk#xff0c;…近期由于某项目验收需要需要登录接口同时满足至少400个账号同时并发登录于是开始编写测试代码以满足项目业务需要。首先安装jdk由于本机已安装jdk8 如果你机器上没有安装jdk请百度自行安装一下因为JMeter由java编写JMeter安装 Windows 安装 jmeter-CSDN博客 安装redis可以百度也可以参考之前发布的文章部署.net6 到 Windows server 2008 r2 IIS_csdn_aspnet的博客-CSDN博客  编写测试webapi登录接口代码 1.写入redis测试账号 /// summary/// 添加或移除测试账号/// /summary/// param nameisDel0添加账号 1移除账号/param/// returns/returns[HttpPost]public async TaskActionResult AddYhzhRedis(int isDel 0){string sKey YH;if (isDel 1){for (int i 0; i 500; i){int nId i 1;string sYhm admin_ nId;await _cache.RemoveAsync(sKey : sYhm);}return Ok(new{code 200,success true,msg 移除测试账号成功});}Yhzh yhzh null;for (int i 0; i 500; i){int nId i 1;yhzh new Yhzh();yhzh.id nId;yhzh.yhm admin_ nId;yhzh.mm MD5Helper.MD5Encrypt32(nId 123456);await _cache.SetAsync(sKey : yhzh.yhm, yhzh, TimeSpan.FromHours(24));var vId await SqlSugarHelper.Db.Insertable(yhzh).ExecuteReturnBigIdentityAsync();}return Ok(new{code 200,success true,msg 添加测试账号成功});} 代码中_cache 为注入的redis缓存接口可自行编写或使用第三方包MD5Helper.MD5Encrypt32 你可以在网络上找一个md5加密帮助类即可。 2.登录接口实现 /// summary /// 登录 /// /summary /// param namemodel/param /// returns/returns [HttpPost] public async TaskActionResult Login([FromBody] LoginVM model) {string sKey YH:;if (await _cache.GetAsync(sKey model.yhm)){var vCacheModel await _cache.GetAsyncYhzh(sKey model.yhm);if (null vCacheModel){return Ok(new{code 400,success false,msg 登录失败用户不存在});}string sAfferentPwd MD5Helper.MD5Encrypt32(vCacheModel.id model.mm);if (sAfferentPwd ! vCacheModel.mm){return Ok(new{code 400,success false,msg 登录失败用户或密码不正确});}//TODO:生成新的token 存储缓存信息return Ok(new{code 200,success true,msg 登录成功});}var vUserModel await SqlSugarHelper.Db.QueryableYhzh, Yhxx, Dwxx((zh, yh, dw) new JoinQueryInfos(JoinType.Left, zh.yhid yh.id yh.sczt 0, JoinType.Left, zh.dwbh dw.dwbh dw.sczt 0)).Where((zh, yh, dw) zh.yhm model.yhm || yh.lxdh model.yhm || yh.jh model.yhm).Where((zh, yh, dw) zh.sczt 0).Select((zh, yh, dw) new YhzhxxVM{id zh.id,yhid zh.yhid,xm yh.xm,yhm zh.yhm,mm zh.mm,lxdh yh.lxdh,//yhtx zh.yhtx,yhtx yh.yhtx,dwbh zh.dwbh,dwmc dw.dwmc,qhbm dw.qhbm,sfxtzh zh.sfxtzh,zhzt zh.zhzt,sfkdldp zh.sfkdldp}).FirstAsync();if (null vUserModel){return Ok(new{code 400,success false,msg 登录失败用户名不存在});}string sUserPwd MD5Helper.MD5Encrypt32(vUserModel.id model.mm);if (sUserPwd ! vUserModel.mm){return Ok(new{code 400,success false,msg 登录失败用户名或密码错误});}Dictionarystring, string dicUserInfo new Dictionarystring, string{{ zhid,vUserModel.id.ToString()},{ userid,vUserModel.yhid.ToString()},{ dwbh,vUserModel.dwbh??},{ dwmc,vUserModel.dwmc??},{ qhbm,vUserModel.qhbm??},{ username,model.yhm??},{ xm,vUserModel.xm??},{ nickname,vUserModel.nc??},{ lxdh,vUserModel.lxdh??},{ yhtx,vUserModel.yhtx??},{ jsmc,},{ jsid,},{ sfxtzh,vUserModel.sfxtzhnull?0:vUserModel.sfxtzh.ToString()},{ logintime,DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss)},{ tokenExpire,DateTime.Now.AddSeconds(AppSettings.CustomToken.KeyTimeEffectiveTime).ToString(yyyy-MM-dd HH:mm:ss)},};var vUserInfo JsonHelper.ToJson(dicUserInfo);string sToken Guid.NewGuid().ToString(N);await _cache.SetAsync(sToken, vUserInfo, TimeSpan.FromMinutes(10));return Ok(new{code 200,success true,msg 登录成功});} 代码中 SqlSugarHelper使用的第三方 SqlSugar包实现此类代码如下 /// summary /// 不能是泛型类 /// /summary public class SqlSugarHelper {//多库情况下使用说明//如果是固定多库可以传 new SqlSugarScope(ListConnectionConfig,db{}) 文档多租户//如果是不固定多库 可以看文档Saas分库//用单例模式public static SqlSugarScope Db new SqlSugarScope(new ConnectionConfig(){ConnectionString server127.0.0.1;Databasedb;Port3306;Uidmysqladmin;Pwd20231024;Persist Security InfoTrue;SslModeNone;charsetutf8mb4;,//连接符字串DbType DbType.MySql,//数据库类型IsAutoCloseConnection true //不设成true要手动close},db {//(A)全局生效配置点一般AOP和程序启动的配置扔这里面 所有上下文生效//调试SQL事件可以删掉db.Aop.OnLogExecuting (sql, pars) {Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响//5.0.8.2 获取无参数化 SQL 对性能有影响特别大的SQL参数多的调试使用//UtilMethods.GetSqlString(DbType.SqlServer,sql,pars)};//多个配置就写下面//db.Ado.IsDisableMasterSlaveSeparationtrue;//注意多租户 有几个设置几个//db.GetConnection(i).Aopvar vIsConnection db.Ado.IsValidConnection(); //如果时间长可以在连接字符串配置 连接超时时间Console.WriteLine(vIsConnection vIsConnection);}); } 打开swagger开始写入账号数据 redis写入成功 数据库写入成功 启动JMeter进入JMeter的bin目录右键使用管理员身份运行jmeter.bat文件即可 启动成功如下图 修改名称你可以使用默认名称本测试修改为登录并发测试在左侧登录并发测试节点右键添加线程组如下图 在左侧登录并发测试节点右键分别添加HTTP信息头管理器HTTP请求默认值CSV Data Set Config如下图 HTTP信息头管理没有你可以不添加点击添加后双击名称列单元格即可输入 HTTP请求默认值本次测试只填写红框内参数IP和端口换成你自己的即可其余默认 CSV Data Set Config如下图 以上截图中 变量名称 后续会用到csv文件内容其实就是上面代码中创建的账号信息使用sql在数据库执行拼接登录名 SELECT yhm FROM jc_yhzh1; 在查询结果中全选、右键- 复制为- 制表符分隔值(数据)粘贴到txt中将txt扩展名修改为csv即可。  修改完成后打开csv文件如下 在左侧线程组节点右键添加HTTP请求如下图 配置信息如下 请求报文中${name}为变量上面选择csv设置的要一致。 在登录并发测试节点右键添加查看结果树和聚合报告添加即可不需要配置 添加完成后在线程组右键-启动 启动后开始执行绿色的三角变为灰色  点击查看结果树 两个截图请求明显登录账号不一样说明一次600请求是正常的返回结果如下 点击聚合报告异常0.00%符合预期结果 至此测试任务完成将业务过程搬到正式环境代码改写相关业务接口。
http://www.dnsts.com.cn/news/275003.html

相关文章:

  • 网站建设好后能直接打开吗中国亚马逊官网
  • 网站建设如何设定关键字菏泽seo
  • 网站做哪些主题比较容易做html5网站制作教程
  • 网站开发二线城市wordpress digg
  • 微信的官方网站怎么做wordpress不能更改邮箱
  • 哪个网站能免费下载网站模板 国外
  • 电影网站建设方案ppt模板下载手机里面的网站怎么制作
  • 在门户网站管理建设工作讲话峰聘网360建筑网
  • 专门给别人做网站广告体验程序网站开发
  • 青海建设厅通报网站六安发布
  • 工厂弄个网站做外贸如何处理国外 网站 模板
  • 怎么做下载类的网站吗海淀区城市建设档案馆网站
  • 做网站需要虚拟主机还是服务器网站建设选用平台分析
  • 江苏省建设厅网站资质升级南宁网络系统开发
  • 建设婚介网站一台云服务器可以做多少个网站
  • 师范街网站建设品牌网站建设内容框架
  • 福州综合网站建设社区网站怎么建
  • 广州网站建设方案维护手机网站建设效果
  • 小公司网站维护简易做网站
  • 龙岩做网站开发大概价格wordpress 加广告
  • 做好网站建设工作总结网站开发公司合作协议书
  • 电子商务网站建设与维护实训报告长春高端网站建设
  • 做网站需要模板吗电商一年可以赚多少钱
  • 深圳网站设计兴田德润放心黑龙江纪检监察网
  • 上海手机网站建设哪家专业中国建设银行用e路这么进网站
  • 婚庆网站制作公司购买的网站如何换背景
  • 做网站的企业是什么行业用自己网站做邮箱域名
  • 专门 做鞋子团购的网站有哪些中国城乡建设部网站房贴文件
  • 站长音效开封做网站
  • 巴中手机网站建设淘宝官网首页