Forum Discussion

gperrego's avatar
gperrego
New Contributor
13 years ago

SoapUI Settings.XML file is not overridden in LoadUI

I am Using SoapUI 3.6.1 and LoadUI 1.5

In my scenario I have a 3 layered property set up:
The endpoint url is http://${#TestSuite#HostPort}/sample.asmx
Inside the TestSuite Properties HostPort = {#Global#DEV}
Inside the Global Properties DEV = 192.168.xxx.xxx

Running in SoapUI this works, running in LoadUI with out changing the file the tests also pass. Now I am testing to make sure when I change the settings.xml file location I control those global properties to know which environment I am sending request to:

1) Closed both SoapUI and LoadUI
2) I coped the existing "soapui-setings.xml" file over to a new location
3) Changed the "DEV" to point to 000.000.000.000 (should obviously fail if we call that IP)
4) Opened LoadUI pointed the SoapUI runner to a the copied settings.xml file.
5) Closed LoadUI and reopened LoadUI (seems like you need to do this to reload the file?)
6) Ran the LoadUI project.

The problem is the test still passes which means it is not grabbing the updated file. To make sure I knew which file the SoapUI runner is accessing I then:

7) Changed the new file back to tthe correct IP address so that the test would pass.
8) Change the original file (C:\Documents and Settings\User\soapui-setting.xml) to 000.000.000.000
9) Reopened LoadUI
9) Run the LoadUI Project with the SoapUI runner settings still pointing to my new location on my D drive.

It now fails becuase it is still accessing the original XML file.

I understand that we can override the TestCase Properties, but I would prefer to point to one file and update the file if I need a change vs updating every SoapUI runner if I want to point to a different environment; which is what I thought changing the settings.xml file would do? I plan on having many soapUI test cases run (50-60) and want to make one change that will effect them all.

Is this a bug? If not what does overriding the setting file do?

Does anyone have any ideas?

2 Replies

  • gperrego's avatar
    gperrego
    New Contributor
    Now I am digging through the XML to see if I can find anything and something did jump off the page at me:

    I previously overrode a TestCase property to see how it works.

    1) I added a property to the test case in SoapUI
    2) Added the SoapUI Test to LoadUI
    3) Saw it show up in LoadUI and overrode it to something, ran it and it worked correctly
    4) I then removed the property from the test case in SoapUI
    5) I saw that the property was removed in LoadUI

    After looking at the XML object for the SoapUI runner I still see that it is looking to override the property:

    <con:property propagates="true" key="_valueToOverride_HostPort" type="java.lang.String">${#Global#DEV}</con:property>

    After creating a new runner from scratch the "_valueToOverride_HostPort" property is not present. So it looks like that node is not being cleaned up in the LoadUI XML when a TestCase Property is removed from SoapUI.
  • gperrego's avatar
    gperrego
    New Contributor
    The object seems to be set up correctly but it is just not getting processed by the engine correctly?

    - <con:component type="com.eviware.loadui.components.soapui.SoapUISamplerComponent" label="soapUI Runner" id="1b67f425-1910-4cae-a578-676d05e33250">
    - <con:properties>
    <con:property propagates="true" key="ModelItem.description" type="java.lang.String" />
    <con:property propagates="true" key="concurrentSamples" type="java.lang.Long">100</con:property>
    <con:property propagates="true" key="maxQueueSize" type="java.lang.Long">1000</con:property>
    <con:property propagates="true" key="countDiscarded" type="java.lang.Boolean">false</con:property>
    <con:property propagates="false" key="projectFile" type="java.io.File">D:\SoapUI\AD\AD-AD-soapui-project.xml</con:property>
    <con:property propagates="true" key="_projectFileworkingCopy" type="java.io.File">D:\SoapUI\AD\AD-AD-soapui-project.xml</con:property>
    <con:property propagates="true" key="_projectPassword" xsi:nil="true" type="java.lang.String" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
    <con:property propagates="true" key="settingsFile" type="java.io.File">D:\LoadUI\soapui-settings.xml</con:property> <con:property propagates="false" key="projectRelativePath" type="java.lang.String">D:\SoapUI\AD\AD-AD-soapui-project.xml</con:property>
    <con:property propagates="true" key="useProjectRelativePath" type="java.lang.Boolean">false</con:property>
    <con:property propagates="true" key="testSuite" type="java.lang.String">REGR - Performance Tests</con:property>
    <con:property propagates="true" key="testCase" type="java.lang.String">ADUserExists</con:property>
    <con:property propagates="true" key="raiseError" type="java.lang.Boolean">true</con:property>
    <con:property propagates="true" key="outputTestCaseProperties" xsi:nil="true" type="java.lang.Boolean" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
    <con:property propagates="true" key="OutputLevel" type="java.lang.String">TestCase and RequestTestSteps</con:property>
    <con:property propagates="true" key="_testCasePropertiesTableModel" type="java.lang.String" />
    <con:property propagates="true" key="closeConnectionsAfterRequest" type="java.lang.Boolean">false</con:property>
    </con:properties>
    - <con:attributes>
    <con:property key="com.eviware.loadui.api.model.ComponentItem@type">soapUI Runner</con:property>
    <con:property key="gui.layoutX">552</con:property>
    <con:property key="gui.layoutY">318</con:property>
    </con:attributes>
    </con:component>