soapui笔记 Property Transfer 传递属性值

原文地址:soapui笔记 Property Transfer 传递属性值 作者:孽尐妖
属性的概念:
soapui的每个层次都可以来创建属性,
soapui笔记 Property Transfer 传递属性值_第1张图片
这些属性可以用来传递参数,例如可以在testsuite中创建两个属性:username/password,用来进行登录。
1、首先我们创建一个测试用例,添加登录request
2、在testsuite层次上创建两个属性username=Login/password=Login123
soapui笔记 Property Transfer 传递属性值_第2张图片
3、打开request,在form形式下点击输入框后面的“Get Data”按钮选择创建的属性参数。分别设置username/password。
soapui笔记 Property Transfer 传递属性值_第3张图片
4、接着会弹出初始对话框,注意这里输入的值要和创建属性的值一直,不然输入的值就把原来的属性值覆盖了。另外,这里使用soapui自带的Sample Project,并且要使用MockService的Endpoint。
soapui笔记 Property Transfer 传递属性值_第4张图片
5、设置好后就可以运行了,按照上面的操作可以运行成功。如果登陆失败,提示“Already Loginned In”,那么只要把MockService重启一下就可以了。

source到target的两种方式:
一、直接将source获得的值传到下一个具体的步骤
1、首先创建测试用例,添加测试步骤
soapui笔记 Property Transfer 传递属性值_第5张图片
2、双击PropertyTransfer,打开编辑页面。
添加PropertyTransfer,名称SessionID。
Source中选择:Test Request:login     Property:Response 点击Xpath图表设置Xpath(在sessionid的数字上点击一下,就会出现下面的Xpath)
soapui笔记 Property Transfer 传递属性值_第6张图片
Target中选择:Test Request:logout  Property:Resquest   点击Xpath图表设置Xpath
设置好后的页面情况
soapui笔记 Property Transfer 传递属性值_第7张图片
3、试着运行一下这个测试用例,运行后切换到PropertyTransfer页面
soapui笔记 Property Transfer 传递属性值_第8张图片

能看到transfer log,从这里我们能看到传输的值对不对,如果不是login产生的sessionid,那就说明不对,那就要检查原因了。

二、将source获得值存在一个变量中,以后直接引用,这个的好处是可以使用多次
1、首先创建测试用例,添加测试步骤
soapui笔记 Property Transfer 传递属性值_第9张图片
2、不同的是,我们在Test Case层次上新建一个属性login_session,随便输入一个值即可。这个login_session就用来做变量存储从login response中获得的session。
3、打开Proper Transfer编辑页面
新建session_id,source:Test Request:login  Porperty:Response,选择Xpath,选中Respnse中的sessonid。
soapui笔记 Property Transfer 传递属性值_第10张图片

 4、打开logout,为logout的session选择参数,选择后的结果是“${#TestCasse#login_session}”。
soapui笔记 Property Transfer 传递属性值_第11张图片

5、运行,切换到Property Transfer,有log产生。
soapui笔记 Property Transfer 传递属性值_第12张图片
这就完成了讲source中获得的值存在变量中,虽然这样只用了一次,要是多次使用是对应的地方参数化就行了。





你可能感兴趣的:(SoapUI)