WEB开发网
开发学院网页设计JavaScript 使用 JavaScript 实现 Web 应用程序 HTTP 请求-响... 阅读

使用 JavaScript 实现 Web 应用程序 HTTP 请求-响应测试自动化

 2010-03-26 00:00:00 来源:WEB开发网   
核心提示: getVS 函数的主要设想就是,向要测试的应用程序发送基本的 GET 请求、提取响应并解析出 ViewState 值,使用 JavaScript 实现 Web 应用程序 HTTP 请求-响应测试自动化(8),$.ajax 函数可接受匿名函数,Async、type 和 URL 参数应该都可以对自身

getVS 函数的主要设想就是,向要测试的应用程序发送基本的 GET 请求、提取响应并解析出 ViewState 值。$.ajax 函数可接受匿名函数。Async、type 和 URL 参数应该都可以对自身进行说明。响应 resp 对象的 hasOwnProperty(“d”) 方法主要是一个在 Microsoft .NET Framework 3.5 中提供的安全机制,在这种情况下没有必要使用。

我通过查找该属性的起始位置,然后数过 24 个字符到达 ViewState 值真正开始的位置来提取 ViewState 值。getEV 函数代码与 getVS 代码完全相同,只是 EventValidation 值从初始 id=EVENTVALIDATION 属性的 30 个字符处开始。拥有单独的 getVS 和 getEV 函数后,您就可以灵活把握但需要两个单独的基本请求。另一种方法就是将 getVS 和 getEV 重构到单一的帮助程序函数。

sendAndReceive 帮助程序函数将执行实际的 HTTP 请求并提取生成的响应。此函数首先将原始 ViewState 和 EventValidation 字符串转换为 URL 编码的字符串,然后构建发布到 Web 应用程序的数据:

function sendAndReceive(target, rawVS, rawEV, inputData) { 
 vs = encodeURIComponent(rawVS); 
 ev = encodeURIComponent(rawEV); 
 postData = inputData + ‘&__VIEWSTATE=’ + vs + 
  ‘&__EVENTVALIDATION=’ + ev; 
 ...

对于发布数据中为非法值的字符,内置 encodeURIComponent 函数将它们编码为转义序列。例如,“/”字符编码为 %2F。在记录消息后,sendAndReceive 将使用 $.ajax 方法创建 HTTP POST 请求:

logRemark("Posting " + inputData); 
$.ajax({ 
 async: false, 
 type: "POST", 
 url: target, 
 contentType: "application/x-www-form-urlencoded", 
 data: postData, 
 ...

上一页  3 4 5 6 7 8 9  下一页

Tags:使用 JavaScript 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接