51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2513|回复: 10
打印 上一主题 下一主题

求jmeter大神,急急急!!

[复制链接]
  • TA的每日心情
    奋斗
    2017-5-8 11:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-4-21 18:45:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 我是一个小测试 于 2017-4-21 19:11 编辑

    这个本来是悬赏的,但是悬赏没办法冲¥,冲¥报错,只能在论坛里说了,帮帮看一下吧!谢谢了,如果解决非常感谢,包括物质上的和精神上的!!!

    本人是一个测试,自学的那种。接口性能测试,没有说性能需求。就是说测一下性能。
    说一下具体的接口特点:
    此接口为支付接口(方法为post),

    一共有12个参数,其中有两个参数需要在不断的请求中改变,一个是订单号,这个参数为:
    outTradeNo
    String
    true
    唯一订单号(同一订单来源下,订单号应保证唯一)
    还有一个为签名参数:
    sign
    String
    true
    获取所有不为空的参数,剔除sign参数。将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。将key的值拼接在字符串后面,调用MD5算法生成signMD5key见附录

    这两个参数在http请求中,ouTradeNo是一个需要参数化的参数;但是要生成sign,需要outTeadeNo等各个参数以及他们的值进行排序,合并上key的值,然后在
    进行MD5加密;生成的加密字符串才是sign的参数值,然后再写入http请求的参数值中进行一个
    完整的http请求,获得返回数据,在提取返回数据进行后面的订单查询,退款操作,退款查询等系列流程。


    需求  1.现在这个sign参数值我没办法生成,让他随着订单号的改变来改变,进行http请求。
           2.取到统一支付接口返回值是一个支付地址(支付宝二维码网页,扫码付款)。
           3.性能测试走流程时是不是能自动付款,然后在进行下面的业务(感觉这个不能实现,是不是需要全部订单手动付款后在进行一下流程)
           4.还有就是要进行接口性能测试的话设置多少订单比较合适,要进行几个线程循环。


          给出主要的策略,具体怎么把sign参数化,让http请求时取到生成之后的参数。指出需要用到的组件以及使用方法;
          比如:参数化outTradeNo,要用到CSV Data Set config 组件进行记事本编辑引用参数的。然后应用到参数中。

        求各位大神解答!!!!!



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 2820 天

    连续签到: 2 天

    [LV.Master]测试大本营

    推荐
    发表于 2017-4-25 08:18:51 | 只看该作者
    我是一个小测试 发表于 2017-4-24 15:27
    对的,但是我都调用不成功,不知道这个变态的签名(sign)参数如何自动生成,并发扫描不做可以,但是后续 ...

    订单查询,退单查询应该是你自己系统记录的吧,如果是,那么自己在数据库可以添加数据,进行性能测试;
    退单应该是对支付宝的接口,只要保证正确即可,你说的重复退订的响应是正常响应,我觉得没问题
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 2820 天

    连续签到: 2 天

    [LV.Master]测试大本营

    2#
    发表于 2017-4-22 08:10:59 | 只看该作者
    1、sign的生成应该单独写程序的,这个基本需要你自己开发代码或者寻找开发同事的帮忙,使用jar包、dll等类似的方式导入jmeter,因为你还涉及到了MD5算法,估计也是调用的;
    2、你这个接口应该是下订单接口吧,然后支付宝给你返回支付地址,支付完成后,订单完成。所以感觉你的功能还是下订单的过程。这样就不需要进行支付了吧,不知道理解的对不对。

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 2820 天

    连续签到: 2 天

    [LV.Master]测试大本营

    3#
    发表于 2017-4-22 08:12:24 | 只看该作者
    你这个接口是直接发送给支付宝的?
    如果是,感觉没什么意义吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-8 11:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
     楼主| 发表于 2017-4-24 13:46:35 | 只看该作者
    jingzizx 发表于 2017-4-22 08:12
    你这个接口是直接发送给支付宝的?
    如果是,感觉没什么意义吧

    确实是这样的,这个接口走完第一步后确实需要支付,然后才能进行后面的接口测试,但是我想的是多设置几个订单,先看看是不是能调用成功,调用成功了以后,取到地址,然后手动支付,再进行后面的查询等一系列的接口访问,不知道这个策略能不能行的通,(其实这里还有一个困惑,多线程下的接口怎么说也得几百个,这要是一一支付,是有点不切实际),但是并发扫码支付我现在没有做过,不知道该怎么完成,请问扫码并发能做吗?还有这个接口的性能我感觉我这个水平的做不了,到底需要什么样水平才能完成这个测试,我是一脸困惑啊。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-8 11:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2017-4-24 13:47:53 | 只看该作者
    jingzizx 发表于 2017-4-22 08:10
    1、sign的生成应该单独写程序的,这个基本需要你自己开发代码或者寻找开发同事的帮忙,使用jar包、dll等类 ...

    感谢回复,真的非常感谢!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-14 12:25
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]测试旅长

    6#
    发表于 2017-4-24 14:23:40 | 只看该作者

    1、“1.现在这个sign参数值我没办法生成,让他随着订单号的改变来改变,进行http请求”------你发送post请求,请求成功以后就会返回响应,而返回响应参数就会包含sign和outTradeNo 这两个参数,outTradeNo这个就相当于每一次请求生成的id,每次都是不同的,sign的就是你的订单的内容,只不过的经过了加密算法 ,这两个参数都不需要你手动创建
    2、“取到统一支付接口返回值是一个支付地址”-------首先你要对post响应返回的参数内容了解,对每一个内容的的意思代表是什么,对于这一块最好是问开发。对于返回值是一个地址,说明你的取值取错了
    3、“性能测试走流程时是不是能自动付款,然后在进行下面的业务”-------对于性能测试也比较广泛 ,可以进行并发测试,比如同一时间段内进行多次支付,看系统的瓶颈在哪
    4、“4.还有就是要进行接口性能测试的话设置多少订单比较合适,要进行几个线程循环。”-------这个要看你的需求规格

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-8 11:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
     楼主| 发表于 2017-4-24 15:08:00 | 只看该作者
    一抹红尘 发表于 2017-4-24 14:23
    1、“1.现在这个sign参数值我没办法生成,让他随着订单号的改变来改变,进行http请求”------你发送post ...

    关于你的第一个反馈1:那两个值确实的是需要手动创建的,下面为实例,(见附件)是我做功能的实例。
    2.返回的内容:方法状态信息,方法状态码,状态信息,支付类型,支付记录ID,data这个就是具体支付用到的url,访问时是一个二维码支付页面,需要手动支付。
    3.我所说的自动付款是支付宝接口的二维码付款。
    4.我确实不理解支付宝类型的接口性能,所以不明确初次该设置多少线程,递增幅度等等。


                                                                   非常感谢回复和讨论分析!非常感谢!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 2820 天

    连续签到: 2 天

    [LV.Master]测试大本营

    8#
    发表于 2017-4-24 15:18:18 | 只看该作者
    我是一个小测试 发表于 2017-4-24 13:46
    确实是这样的,这个接口走完第一步后确实需要支付,然后才能进行后面的接口测试,但是我想的是多设置几个 ...

    我的感觉是你并发扫描支付这个根本就不需要做,因为你加压的对象是支付宝啊,即使你能做,又有什么意义呢
    这里你只要关注功能调用成功即可。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-8 11:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
     楼主| 发表于 2017-4-24 15:27:22 | 只看该作者
    jingzizx 发表于 2017-4-24 15:18
    我的感觉是你并发扫描支付这个根本就不需要做,因为你加压的对象是支付宝啊,即使你能做,又有什么意义呢 ...

    对的,但是我都调用不成功,不知道这个变态的签名(sign)参数如何自动生成,并发扫描不做可以,但是后续的订单查询,退单,退单查询还是要做的不是吗?这个前提下还是要形成支付订单号啊。(这里继续疑问困惑,统一订单下的退单操作只能进行一次,再次循环就会出现重复退订,这种重复退订的返回响应是不是也算成功?)
                                                                                                      感谢回复!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-8 11:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
     楼主| 发表于 2017-4-25 17:56:30 | 只看该作者
    jingzizx 发表于 2017-4-25 08:18
    订单查询,退单查询应该是你自己系统记录的吧,如果是,那么自己在数据库可以添加数据,进行性能测试;
    ...

    感谢大神的指教,我现在对这个接口有概念了,也知道具体的测试策略了,JM的MD5加密已经成功,单个可变参数值的参数化问题已经解决,但是就是这个sign签名参数值(未加密之前的合并型字符串)无法生成,请问大神有什么添加某个组件的方法可以生成sign参数(未加密之前的字符串也行)。有什么方法吗?还是一定要写一个生成字符串原形的java程序,然后导包。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 22:13 , Processed in 0.073847 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表