1

我需要这个特定的JSON场提取到在Visual Studio中我的性能测试参数:提取JSON响应为参数

“ExamAnswerId”: “757a3735-e626-412b-器934c-e577c6963d51”

当我尝试通过右键单击响应并单击“添加提取规则”来手动执行此操作时,就会出现问题。文本被拆分为3个不同的行,其旁边有很多不可读的数字: “0x00000000 7B 22 45 78 61 6D 41 6E 73 77 65 72 49 64 22 3A {”ExamAnswerId“: 0x00000010 22 37 35 37 61 33 37 33 35 2D 65 36 32 36 2D 34“757a3735-e626-4

这听起来很愚蠢,但我以某种方式需要提取3个不同的参数,只是因为我无法复制/粘贴 - 而且这也是我认为我失败的地方。

ExamAnswerId对于我稍后填写另一个webrequest很重要,但我似乎无法正确传递它。

非常感谢!

+0

我从标题中删除了标签名称http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles – JJS

回答

0

我有一个类似的问题与提取规则。必须避开引号才能使条件生效。就像这样:

的开头为:\ “ExamAnswerId \”:\ “
结尾为:\”

+0

我正在使用VS 2013.我没有逃离它并让我工作。 – Raymond

0

执行以下步骤:

  1. 添加所有可用ExamAnswerId在CSV文件中。
  2. 现在将CSV添加为数据源。

允许假设CSV文件名是testdatatableName=testData#csvcolumnName=ExamAnswerId
请注意当您添加数据源时,您将看到表名。

  • 替换此:

    ["ExamAnswerId": "757a3735-e626-412b-934c-e577c6963d51"] 
    

    通过这样的:

    ["ExamAnswerId": "{{testdata.testdata#csv.ExamAnswerId}}"] 
    
  • +0

    如果有任何问题,请与我分享[“ExamAnswerId”:“757a3735-e626-412b-934c-e577c6963d51”]与我分享[email protected] –

    0

    在JSON管理会话。下面链路为我工作:

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/b26114a2-7a24-45eb-b5d1-01e9165045b0/cant-fetch-json-value-and-extract-to-parameter?forum=vstest

    实施例: 00000000 7B 22 53 65 73 73 69 6F 6E 22 3A 22 63 66 39 37 { “会话”:“cf97 0x00000010 64 33 65 61 2D 36 39 38 33 2D 34 31 37 30 2D 38

    我创建 “Extrat_Text” 具有可变MySessionID 左边界 “会话”: 右边界”,

    然后我通过{{MYS essionID}}在后续请求中取代Session。

    1

    或者我们可以使用正则表达式(正向前看,正向后看) 例如,我想在一个JSON结果拿到的access_token属性看起来像这样

    {"token_type":"Bearer","expires_in":"3600","ext_expires_in":"0","expires_on":"1474420129","not_before":"1474416229","resource":"5fe3f443","access_token":"eyJ0eXAiOiJKV1QiLCJhbGci"} 
    

    我可以用这个表达式:

    (?<=\"access_token\"\:\").*(?=\")