51Testing软件测试论坛

标题: 如何在 response 取值,然后用作请求 [打印本页]

作者: 测试积点老人    时间: 2021-3-26 11:25
标题: 如何在 response 取值,然后用作请求
还请大佬们不吝赐教。
这是个自动化测试场景,类似于我们注册 app,比如需要填下住址,可以参考下边的接口返回值,我需要随机提取一组数据比如"value":"abc"、"value":"D",用作下一步的请求体,我该怎么提取,困扰小弟半天了。
  1. {
  2. "status":{
  3. "code":0,
  4. "detail":"",
  5. "serverResponseTime":1616569995778
  6. },
  7. "body":[
  8. {
  9. "label":"abc",
  10. "value":"abc",
  11. "children":[
  12. {
  13. "label":"D",
  14. "value":"D"
  15. },
  16. {
  17. "label":"E",
  18. "value":"E"
  19. },
  20. {
  21. "label":"F",
  22. "value":"F"
  23. }
  24. ]
  25. },
  26. {
  27. "label":"qwe",
  28. "value":"qwe",
  29. "children":[
  30. {
  31. "label":"R",
  32. "value":"R"
  33. },
  34. {
  35. "label":"T",
  36. "value":T"
  37. },
  38. {
  39. "label":"Y",
  40. "value":"Y"
  41. }
  42. ]
  43. },
  44. }
复制代码
欢迎各路大佬来此评论

作者: jumperzzz    时间: 2021-3-27 14:37
如果你使用python测试的话 可以先把body拿出来存成list 去len这个list的长度 随机一个不大于len长度的整数n  之后就是取随机数(index)的内容和值
代码大概长这样:
import random
body = [{"label":1,"value":2,"children":[{"label":1,"value":2}]},
        {"label":7,"value":8,"children":[{"label":9,"value":10}]}]
lens = len(body)
r_num = random.randint(0,lens-1)
label = body[r_num]["label"]
value = body[r_num]["value"]
children = body[r_num]["children"]

其他语言 逻辑一样(我这只是个demo 你得按照需求自己改代码)
作者: litingting0214    时间: 2021-3-29 10:42
https://testerhome.com/topics/29210  参考下这篇文章
作者: jingzizx    时间: 2021-3-29 19:08
循环吧




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