接口测试之——soapui学习(7)

上一篇 / 下一篇  2011-10-18 16:23:23 / 个人分类:接口测试

注:(该文转自流口水的小猪的博客,因为分享不过来所以就copy了

  • soapUI的属性概念
  • Transfer property ---直接传递到具体操作
  • Transer Property ---通过变量存放

--------------------------------------------------------------------

====================soapUI的属性概念====================

经过学习,我们知道,soapUI的每个层次都可以创建属性Property

SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
这些属性,可以用来传递参数,例如可以在testsuite中创建两个属性:username/password,用来进行登录
1. 首先我们创建一个测试用例,添加登录request
2. 在testsuite层次上创建两个属性username=Login / password=Login123
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
3.打开request,在form形式下点击输入框后面的“Get Data”按钮选择创建的属性参数。分别设置username/password
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
4. 接着会弹出初始值对话框,注意这里输入的值要和创建属性时的值一致,不然输入的值就把原来属性值覆盖了
另外,注意我这里是使用的soapUI自带的Sample Project ,并且要使用MockService的Endpoint:
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
5.设置好后就可以运行啦。
按上面的操作应该可以运行成功的。如果登录失败,提示“Already Logged In”,那么只要把MockService重启一下就可以了。
 
其实有关soapUI的Property的应用,在自带的sample project中应用的比较充分,值得学习
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
 
 
 
 
 

==================================================================

上面还没说到正题呢,我们要说的是Property transfer。
我们要进行login---》logout,其中login产生了sessionid,并且使用这个sessionid进行logout。
首先看看Property transfer的主要页面,就是从Source传向Target。
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
根据soure到target的两种方式,我们进行两种说明。两种方式分别是:
一种是直接将soure获得的值传到下一个具体的步骤;
另一种是将soure中获得的值存在一个变量中,以后直接引用,这个的好处是可以使用多次。
 

====================将soure获得的值传到下一个具体的步骤====================

1. 首先创建测试用例,添加3个步骤:login --》PropertyTransfer --》logout
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
 2. 双击PropertyTransfer,打开编辑页面
添加PropertyTansfer,名称:SessionID
Source中选择:Test Request:login    Property:Response 点击Xpath图标设置Xpath
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹(在sessionid的数字上点击一下,就会出现下面的Xpath)
Target中选择:Test Request:logout  Property:Request    点击Xpath图标设置Xpath
设置好后的页面情况
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
3. 试着运行一下这个测试用例,运行后切换到PropertyTransfer页面
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
能看到transfer log,从这里我们能看到传输的值对不对,如果不是login产生的sessionid,那就说明不对,就要检查原因了。
 
 

====================将soure中获得的值存在一个变量中====================

 1. 同样的,我们创建一个测试用例,login --》PropertyTransfer --》logout
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
2. 不同的是,我们在Testcase的层次上新建一个属性login_session,值随便输入一个即可。这个login_session就用来做变量存储从login response中获得的session
3.打开PorpertyTransfer的编辑页面
新建session_id , source: Test Request:login   Property:Response, 选择Xpth,选中Response中的sessionid
                             target: TestCase_luyx2    Property:login_session  
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
4. 接着,打开logout,为logout的session选择参数,选择后的结果是“${#TestCase#login_session}”
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
5. 一下OK,运行,切换到PropertyTransfer,同样有log显示
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
 这就完成了将soure中获得的值存在一个变量中,在后面多次使用的实验了,虽然我们这样只用了一次而已,但也能看到用多次只是在相应要使用的地方参数化就行了。
我们快速地在原来的测试用例上添加一个步骤search,参数化sessionid,给searchestring一个固定的值,运行也是可以的哦
SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹
 
 
 
 


TAG:

 

评分:0

我来说两句

Open Toolbar