JMeter Office360在线:授权时签署错误所需的JavaScript

时间:2015-12-14 13:02:05

标签: sharepoint jmeter performance-testing

当我尝试使用JMeter登录sharepoint360在线网站时,它会提供在响应时登录错误所需的JavaScript。我得到了以下代码作为回应。

<html>

<head>
<noscript>JavaScript required to sign in</noscript>
<title>Continue</title>
<script type="text/javascript">
function OnBack() {}

function DoSubmit() {
  var subt = false;
  if (!subt) {
    subt = true;
    document.fmHF.submit();
  }
}
</script>
</head>
<body onload="javascript:DoSubmit();">
<form name="fmHF" id="fmHF" action="https://ApplicationURL.sharepoint.com/_forms/default.aspx?apr=1&amp;wa=wsignin1.0" method="post" target="_self">
    <input type="hidden" name="t" id="t" value="EgBZAgMAAAAEgAAAAwABJaEZDRmSdbQKqL6rJyYKAN1Z0valM74LOhnXMHkbILiqeyEyWkHmbZ3hVG8XvpXOVLvlnylOzhJx8KQgSsuO0d6P2quRRU168QMumuqH/qvLVkpZ5mPiBDDyI8l1z+E4++pxZ3H37uIevfjckj40rTlGYJ85aT0/nxcqDxlL6pxKStDm9GKNI81ypsDKv7dMEqg9lRDjJO5qmNEDiCP8jPB3WWke5pVqcn6c1MbnbHzKU2uHzekZqjxAflfvWu5LS9R+N6jciFZvicn8P0EV0LZHqmjXgUsoVMdn9gGemJYnQCoIbkk7Oo9DPaqXRsxApY5sqCwotEJvZ45AaBNAQkgBYABIAQAAAxBYNSeVFbxuVhW8blZOoQcACgAgAAAhAGtrQHNmd3Byb2R1Y3RkZXYub25taWNyb3NvZnQuY29tAGMAAC1rayVzZndwcm9kdWN0ZGV2Lm9ubWljcm9zb2Z0LmNvbUBwYXNzcG9ydC5jb20AAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAB0t1bGRlZXAABUt1bWFyAAAAACAAAAAAAAAAAAD//////////wAAFbxuVpUsb1YAAAAAAAAAAAAAAAANADEyMy42My42NS42NgAAAAAAAAAAAAAAAAAAAQAAAQAAAQAAAQAAAADU1N9WAQAAAQAAAAAAAAAAAAAAAAAANwBodHRwczovL3BvcnRhbC5taWNyb3NvZnRvbmxpbmUuY29tL0NoYW5nZVBhc3N3b3JkLmFzcHgA/////wAAAAAAAA==">
</form>
</body>

提前致谢。

苏尼

2 个答案:

答案 0 :(得分:0)

根据Apache JMeter Homepage

  

JMeter不会执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不像浏览器那样呈现HTML页面

您需要提取&#34;值&#34;那个&#34; t&#34;的属性隐藏输入并将其与其他请求参数一起传递。我建议您使用CSS/JQuery ExtractorXPath Extractor

相关配置:

  1. CSS / JQuery Extractor

    • 参考名称:任何有意义的内容,即t
    • CSS / JQuery Expression:input[id=t]
    • 属性:value
  2. XPath Extractor

    • 使用整洁 - 检查。如果响应符合XHTML,则不需要。
    • 参考名称:再次,任何JMeter变量名称,即t
    • XPath表达式://input[@id='t']/@value
  3. 将提取的值称为${t}所需的

  4. 同样处理任何其他动态参数,你应该好好去。 JMeter不会执行JavaScript,但它可以捕获并执行JavaScript驱动的HTTP请求。鉴于您执行负载测试,您不应该担心浏览器中发生的事情,因为JavaScript仅在客户端执行。有关更详细的说明和说明,请参阅ASP.NET Login Testing with JMeter文章。

答案 1 :(得分:0)

了解sharepoint身份验证的工作原理,我认为您需要使用HTTP请求实现身份验证,而不是使用登录页面,如here所述。基本上,您需要2个HTTP请求:首先提取SAML令牌,然后再接收身份验证cookie,然后您可以像往常一样在以下HTTP请求中使用它。