soapui笔记 Property Transfer 传递属性值

原文地址:soapui笔记 Property Transfer 传递属性值 作者:孽尐妖 属性的概念: soapui的每个层次都可以来创建属性, soapui笔记 Property Transfer 传递属性值
文章图片

这些属性可以用来传递参数,例如可以在testsuite中创建两个属性:username/password,用来进行登录。 1、首先我们创建一个测试用例,添加登录request 2、在testsuite层次上创建两个属性username=Login/password=Login123 soapui笔记 Property Transfer 传递属性值
文章图片

3、打开request,在form形式下点击输入框后面的“Get Data”按钮选择创建的属性参数。分别设置username/password。 soapui笔记 Property Transfer 传递属性值
文章图片

4、接着会弹出初始对话框,注意这里输入的值要和创建属性的值一直,不然输入的值就把原来的属性值覆盖了。另外,这里使用soapui自带的Sample Project,并且要使用MockService的Endpoint。 soapui笔记 Property Transfer 传递属性值
文章图片

5、设置好后就可以运行了,按照上面的操作可以运行成功。如果登陆失败,提示“Already Loginned In”,那么只要把MockService重启一下就可以了。
source到target的两种方式: 一、直接将source获得的值传到下一个具体的步骤 1、首先创建测试用例,添加测试步骤 soapui笔记 Property Transfer 传递属性值
文章图片
2、双击PropertyTransfer,打开编辑页面。 添加PropertyTransfer,名称SessionID。 Source中选择:Test Request:loginProperty:Response 点击Xpath图表设置Xpath(在sessionid的数字上点击一下,就会出现下面的Xpath) soapui笔记 Property Transfer 传递属性值
文章图片
Target中选择:Test Request:logoutProperty:Resquest点击Xpath图表设置Xpath 设置好后的页面情况 soapui笔记 Property Transfer 传递属性值
文章图片
3、试着运行一下这个测试用例,运行后切换到PropertyTransfer页面 soapui笔记 Property Transfer 传递属性值
文章图片


能看到transfer log,从这里我们能看到传输的值对不对,如果不是login产生的sessionid,那就说明不对,那就要检查原因了。
二、将source获得值存在一个变量中,以后直接引用,这个的好处是可以使用多次。 1、首先创建测试用例,添加测试步骤 soapui笔记 Property Transfer 传递属性值
文章图片
2、不同的是,我们在Test Case层次上新建一个属性login_session,随便输入一个值即可。这个login_session就用来做变量存储从login response中获得的session。 3、打开Proper Transfer编辑页面 新建session_id,source:Test Request:loginPorperty:Response,选择Xpath,选中Respnse中的sessonid。 soapui笔记 Property Transfer 传递属性值
文章图片


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


5、运行,切换到Property Transfer,有log产生。 soapui笔记 Property Transfer 传递属性值
文章图片

这就完成了讲source中获得的值存在变量中,虽然这样只用了一次,要是多次使用是对应的地方参数化就行了。




    推荐阅读