什么是关联.doc_第1页
什么是关联.doc_第2页
什么是关联.doc_第3页
什么是关联.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主题:关联一、什么是关联 关联是指将客户端的数据与服务器端的数据建立联系,以获取服务器端返回的动态数据。二、关联的作用(1)用于简化或优化代码 例如,如果依次执行一系列的相关查询,您的代码可能会变得很长。为了减小代码的大小,可以嵌套查询,但这样会失去准确性,而且代码会变得复杂而难以理解。通过关联语 句,不需要嵌套就可以连接查询。(2)用于保存动态数据 许多应用程序和网站按当前日期和时间标识会话。如果尝试重播脚本,该操作将会失败,因为当前时间与录制时间不同。通过关联数据可以保存动态数据,并且在整个已方案运行过程中使用这些数据。(3)用于保存执行脚本时产生的中间数据 某些应用程序(例如数据库)要求使用唯一的值。录制期间唯一的值在脚本执行时将不再唯一。例如,假设您录制了创建一个新的银行账户的过程。每个新账户都分配了用户未知的唯一账户编号。录制期间,此帐户编号将被插入具有唯一关键字约束的表中。如果尝试按所录制那样运行脚本,该操作将尝试用录制的账户编号而不是新的唯一账户编号创建账户。结果将产生错误,应为该账户编号已经存在。如果在运行脚本时遇到错误,请在发生错误的位置检查脚本。大多数情况下,通过关联查询功能可以解决该问题,关联查询将一个语句的结果用作另一个语句的输入。三、关联与参数化的区别 简单而言,参数设置设置的是客户端的数据,关联则是将客户端的数据与服务器端的数据建立联系 参数化:就是测试人员能够控制(指定)的动态数据; 关联:测试人员不能指定的动态数据,只能取得服务器端返回数值来确定的动态数据四、进行关联的主要步骤(1)确定要关联的值 对于大多数协议,可以在执行日志中查看有问题的语句。双击错误消息可以直接跳至出错的位置。或者,您还可以使用随VuGen分发的WDiff实用程序来确定脚本内的不一致性。(2)保存结果 可以使用适当的函数将查询的值保存为变量。这些关联函数是特定于协议的函数。关联函数名通常包含字符串save_param,例如web_reg_save_param(Web协议)和lrs_save_param(Sockets协议)。(3)应用保存的结果值 将查询或者语句中的常量替换为保存的变量。五、实例(以Web协议为例):(一)、在需要获取关联值的web请求之前,调用函数web_reg_save_param,如下图: 上图中,函数web_custom_request(TestingService_6,.)将执行一个web请求,请求得到响应后,服务器会返回请求结果(一般是一个xml文件),在请求结果中就包含了一些中间变量,这些变量在后续操作中需要使用到;函数web_reg_save_param,告诉编译器,将要保存这些中间变量,在函数web_reg_save_param的参数列表中,SampleID表示保存这些中间变量的变量名称是SampleID;LB=和RB=共同确定在请求结果中哪个就是中间变量,LB表示左边界,RB表示右边界。Ord=ALL表示以数组保存所有的中间变量,也就是说SampleID是一个数组,该函数的详细说明请查看帮助文档。那么如何确定函数web_reg_save_param的参数列表的值呢? 1得到web请求结果,有两种方法, 在vuser运行脚本后,就会返回结果报告; 在Runtime Settings中,对Log进行设置,选择Extended log,全部勾选下面的3个复选框,如下图 这样,在vuser运行过程中,就会log下与服务器交互的详细过程,包括传递给服务器的参数,服务器返回的结果等等。 2观察请求结果,确认中间变量的左边界和右边界,如果同个中间变量返回多个值,那么应该以数组方式保存变量。让我们来看看执行函数web_custom_request(TestingService_6,.)后的部分请求结果,如下图所示: 上图中处于字符串“”与字符串“”中间的字符串就是我们要保存的中间变量,因此设定左边界为LB=,右边界为RB=。(二)应用已保存的中间变量 1查看已保存的中间变 在(一)中,我们已经成功的以数组方式保存了中间变量,其变量名称被我们指定为“SampleID”,现在让我们来看看vuser是如何保存中间变量的:先按照(一)中所描述的“得到web请求结果”的第二个方法对Log进行设置,然后运行vuser,查看详细的log,我们会看到如下图的结果: 可以看出,所谓的以数组形式保存中间变量,其实是用参数SampleID_N(N为正整数)保存数组的第N个值,用参数SampleID_count保存数组的长度。 2取出已保存的中间变,如下图 上图中,SampleIDCount=atoi(lr_eval_string(SampleID_count) 将数组长度保存在变量SampleIDCount中;下面的for循环则是把中间变量数组保存在数组ArrSampleID中。这里使用到函数lr_eval_string,该函数的作用是以字符串返回中间变量的值。上图用到的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论