Forum Discussion

ltbawd's avatar
ltbawd
Occasional Contributor
14 years ago

Distributed Table Logs and SoapUI session Persistance

Hi I have just upgraded to LoadUI 2.0 beta 1 to get the new features, mainly the better SoapUI runner, and I have a couple of issues:

Firstly, I have a distributed test in which I use two SoapUI runners, one to do a log on, and one which is in a loop doing a more complex test of various actions (HTTP requests).
I have placed several Table Logs and connected them up to output both results and errors from the tests.
I have a similar local project, when I run that I get data in the Tables and the logging feature seemed to work.
Now I run the distributed project there is no data displayed and nothing gets saved to the specified logs on the agents.
Documentation seems to be for a much older version of LoadUI Table Log, the new component has an 'Enable in distributed mode' checkbox as well as a save button.
I have played with the checkbox and other settings and still get no saved file or display. When I add some folders to the path for the file it creates them but still no file. Is this a bug or am I missing something important, I believe I have run out of settings combinations to try.
At this stage I have no meaningful output for my test, saved or otherwise.

Secondly, I am having issues with the http sessions.
I love being able to pass the session from one SoapUI runner to the next, but it seems that each time a new trigger hits my first 'logon' runner it still has the session and so my logon fails (as it should) because it already has a session and thinks its logged on. If the same test is run just in SoapUI it always gets a new session. Is there anything we can do to fix this? I would desire to have a session per 'user' triggered.

Also, on the issue of generators, I would like to do a ramp up of 'fixed load' which is appropriate for this kind of test. At the moment I use the fixed load generator and ramp it manually. None of the other generators had the second input for the feedback on running requests, is there anything coming to help with this?

Thanks.

7 Replies

  • Hi,

    I've verified the bug with the Table Log component, this will be fixed in the final release. The documentation should be updated as well. When in distributed mode, the checkbox enables the display (disabled by default, since it can require sending a lot of network traffic), but writing to the log file should always be enabled when the component is configured to do so. As a workaround until the final version is released, you can use the attached updated TableLog component.

    Regarding the HTTP Sessions, it should work as you describe you want it to. Are you saying that the initial request from the 'logon' runner, directly triggered by a Generator component, seems to have some HTTP state already set? This shouldn't be the case, so that sounds like a bug. How is this session kept? As a cookie? If you could perhaps share your projects (both the loadUI project as well as any soapUI projects used by it) we can take a look at it and see if we can figure out what's going on. You can either attach the files to this forum thread or send them via email to smartbear-sweden-support *AT* smartbear _DOT_ com.

    Lastly, there won't be anything in loadUI 2.0 to help you with ramping up a Fixed Load component, but it's very likely that we'll add something in the next version after that. Currently your best bet is to create a custom component which does what you want, using the FixedLoad Component as a base. There're some developer documentation available on the subject here.

    Regards,
    Dain
    SmartBear Software
  • ltbawd's avatar
    ltbawd
    Occasional Contributor
    Thanks for the TableLog, it has helped.
    I am not sure what you was expecting to be fixed but I installed it on my controller LoadUI machine and it allowed the results from the distributed agents to be displayed and saved at the end of the run.
    It did not however effect the logging on the agent machines.
    I did not find anywhere to install the tableLog on the agent machines so assumed it was not meant to.

    Re the http session Ids:
    I will send my projects for SoapUI and LoadUI to the email provided.
  • Hi,

    Sorry for not specifying! The updated component should as you noted, allow the results of distributed agents to be viewed in the main loadUI window. I have made no changes to the actual logging. After trying this out for myself, I can confirm that there seems to be a problem with this, and we're working on getting it fixed for the coming final release of loadUI 2.0.

    Regards,
    Dain
    SmartBear Software
  • ltbawd's avatar
    ltbawd
    Occasional Contributor
    At present the table logs are only logging for agents in distributed mode when the agent is running on the same machine as the LoadUI controller itself. Most of the time only one of the five Table Logs actually logs even then. I hope this helps in tracking down the issue.
  • Hi,

    This should work in the final version of loadUI 2.0 (soon to be released).

    /Henrik, SmartBear
  • genkaa's avatar
    genkaa
    Occasional Contributor
    Guys,

    Still facing the same issue in loadUI-2.0.0 (http://sourceforge.net/projects/loadui/files/2.0/).
    I've downloaded and installed it yesterday, updated all agents, still no luck. In distributed mode Table Logs functionality doesn't work, moreover it fails to run all my scripts. Without checking "enable in distributed mode" for Table Log all my scripts run just fine.
    Could you please check it? Seems that this issue was not fixed.
    If needed I can give you any additional info.
    Thanks.
  • ltbawd's avatar
    ltbawd
    Occasional Contributor
    I have tried the latest version of LoadUI to see if this issue is fixed and it seems it does not work at all now in distibuted mode.
    After the first tableLog is encountered I get the following exception on the Agent (also latest) which I assume is related to the logging.
    The TableLog itself also does not display anythning and the script ends its run. Turning the enable in distributed mode off did not help.

    java.lang.UnsupportedOperationException: Groovy script is missing the Closure: output
    at com.eviware.loadui.util.groovy.GroovyEnvironment.invokeClosure(GroovyEnvironment.java:199)
    at com.eviware.loadui.groovy.categories.GroovyOutput.output(GroovyOutput.java:45)
    at com.eviware.loadui.impl.component.categories.OutputBase.onTerminalMessage(OutputBase.java:78)
    at com.eviware.loadui.groovy.categories.GroovyOutput.onTerminalMessage(GroovyOutput.java:67)
    at com.eviware.loadui.impl.model.ComponentItemImpl$TerminalEventHandler.run(ComponentItemImpl.java:446)
    at com.eviware.loadui.util.dispatch.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:197)
    at java.lang.Thread.run(Unknown Source)

    Thanks