- soapUI的属性概念
- Transfer property ---直接传递到具体操作
- Transer Property ---通过变量存放
--------------------------------------------------------------------
====================soapUI的属性概念====================
经过学习,我们知道,soapUI的每个层次都可以创建属性Property
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img838.ph.126.net/wgx_wYicWfiu04ik4vEfcw==/1780610702673755383.jpg)
这些属性,可以用来传递参数,例如可以在testsuite中创建两个属性:username/password,用来进行登录
1. 首先我们创建一个测试用例,添加登录request
2. 在testsuite层次上创建两个属性username=Login / password=Login123
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img767.ph.126.net/nJjPQLx5Pr73LmKDei2G3Q==/4915397518298457282.jpg)
3.打开request,在form形式下点击输入框后面的“Get Data”按钮选择创建的属性参数。分别设置username/password
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img66.ph.126.net/tZB6dcT-sSbZvfcR-GLWLw==/1839720447782575724.jpg)
4. 接着会弹出初始值对话框,注意这里输入的值要和创建属性时的值一致,不然输入的值就把原来属性值覆盖了
另外,注意我这里是使用的soapUI自带的Sample Project ,并且要使用MockService的Endpoint:
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img.ph.126.net/Jscj4sqYGrhCS22W-XhJNA==/3400780668619445904.jpg)
5.设置好后就可以运行啦。
按上面的操作应该可以运行成功的。如果登录失败,提示“Already Logged In”,那么只要把MockService重启一下就可以了。
其实有关soapUI的Property的应用,在自带的sample project中应用的比较充分,值得学习
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img314.ph.126.net/RT_sbmtN4jPmHnSd3nI_DQ==/3879569604003619876.jpg)
==================================================================
上面还没说到正题呢,我们要说的是Property transfer。
我们要进行login---》logout,其中login产生了sessionid,并且使用这个sessionid进行logout。
首先看看Property transfer的主要页面,就是从Source传向Target。
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img96.ph.126.net/CcBIrhmmm6mjgykzA9C1RQ==/2048574880502213420.jpg)
根据soure到target的两种方式,我们进行两种说明。两种方式分别是:
一种是直接将soure获得的值传到下一个具体的步骤;
另一种是将soure中获得的值存在一个变量中,以后直接引用,这个的好处是可以使用多次。
====================将soure获得的值传到下一个具体的步骤====================
1. 首先创建测试用例,添加3个步骤:login --》PropertyTransfer --》logout![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img.ph.126.net/3EHtCZmW-4bU5w6vLgu_kw==/3362218596810055481.jpg)
添加PropertyTansfer,名称:SessionID
Source中选择:Test Request:login Property:Response 点击Xpath图标设置Xpath
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img116.ph.126.net/xOFOBrtN7EeimiQPZur63w==/2026338357342040368.jpg)
Target中选择:Test Request:logout Property:Request 点击Xpath图标设置Xpath
设置好后的页面情况
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img170.ph.126.net/LiLjxVIfy9kbZvZV2-_T6w==/1599903767624908951.jpg)
3. 试着运行一下这个测试用例,运行后切换到PropertyTransfer页面
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img169.ph.126.net/yvfpRoriwtr6YkVB99qOHA==/2168201745604172093.jpg)
能看到transfer log,从这里我们能看到传输的值对不对,如果不是login产生的sessionid,那就说明不对,就要检查原因了。
====================将soure中获得的值存在一个变量中====================
1. 同样的,我们创建一个测试用例,login --》PropertyTransfer --》logout
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img776.ph.126.net/JWWbSiVCRCve0wB5EYcB9w==/1269452144966186965.jpg)
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 传递属性值 - 流口水的小猪 - 轨迹](http://img.ph.126.net/4glqNycBJgc0k33Ljifjww==/3686196295003279384.jpg)
4. 接着,打开logout,为logout的session选择参数,选择后的结果是“${#TestCase#login_session}”
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img313.ph.126.net/wMA67JSP4NbgPjw8bfpP_g==/3664804196773616884.jpg)
5. 一下OK,运行,切换到PropertyTransfer,同样有log显示
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img66.ph.126.net/MPShEjFohcLZtawUt0dLBA==/1839438972805865880.jpg)
我们快速地在原来的测试用例上添加一个步骤search,参数化sessionid,给searchestring一个固定的值,运行也是可以的哦
![SoapUI学习(7)- Transferring Property Values 传递属性值 - 流口水的小猪 - 轨迹](http://img.ph.126.net/Rgs4f5WCkDtDXp6Zr5B6OQ==/922674973658235454.jpg)
转载:http://luyongxin88.blog.163.com/blog/static/925580720114211221997/