Wednesday 2 November 2016

automated JDE regression testing with OATS

I’ve been doing a lot of work with OTM and OATS for JD Edwards.  This is interesting for the main part, but there have been a couple of challenges along the way.  One of significance was that all of my scripts were working perfectly with openscript, but all failing with “Cannot get a connection from helper after 120 seconds.”

You get to see a much better summary of all your tests on the OATS server in a dir like:

C:\OracleATS\otm\Temp\1478063527633

This will allow you to search and find errors easier.  You can also open the following window in it’s own browser location:

image

image

That is a good find!

But, back to the error :  Cannot get a connection from helper after 120 seconds.

Note that this manifested itself with the following text in c”\oracleATS\logs\process_console_2016-10-31T11-17-31.647a21dbaab-a2f5-400d-b746-8b0be57ac651_

11:19:35,452 ERROR [PlayBackHandler] oracle.oats.scripting.modules.webdom.common.api.exception.BrowserHelperException: Cannot get a connection from helper after 120 seconds.
11:19:37,656 ERROR [1] Error in section Initialize at line (script.java:22). Cannot get a connection from helper after 120 seconds.
oracle.oats.scripting.modules.browser.api.utilities.exceptions.BrowserException: Cannot get a connection from helper after 120 seconds.
    at oracle.oats.scripting.modules.browser.api.utilities.exceptions.BrowserException.createBrowserException(BrowserException.java:27)
    at oracle.oats.scripting.modules.webdom.api.internal.InternalWebDOMService.onAfterLaunch(InternalWebDOMService.java:1434)
    at oracle.oats.scripting.modules.browser.api.BrowserService.onAfterLaunch(BrowserService.java:567)
    at oracle.oats.scripting.modules.browser.api.BrowserService.launch(BrowserService.java:319)
    at script.initialize(script.java:22)
    at oracle.oats.scripting.modules.basic.api.IteratingVUser.initialize(IteratingVUser.java:428)
    at oracle.oats.scripting.modules.basic.api.internal.IteratingAgent.run(IteratingAgent.java:720)
    at java.lang.Thread.run(Thread.java:745)
Caused by: oracle.oats.scripting.modules.webdom.common.api.exception.BrowserHelperException: Cannot get a connection from helper after 120 seconds.
    at oracle.oats.scripting.modules.webdom.api.internal.PlayBackHandler.start(PlayBackHandler.java:155)

This was finally sorted by running the 3 oracle ATS services as a domain account:

image

Once this was done, I started to get other different failures!!  fun fun.

Now I’m dealing with:

21:47:36,827 INFO  [1] End Step: [1] JD Edwards (/E1Menu.maf). Step execution time: 1.653 seconds
21:47:36,868 INFO  [1] Step: [2] JD Edwards EnterpriseOne (/E1Menu.maf)
21:49:40,280 ERROR [1] Error in section Run at line (script.java:99). Find Object timeout. Detail information:/web:window[@index='0' or @title='JD Edwards']/web:document[@index='0']/web:span[@text='Asset Management'].
oracle.oats.scripting.modules.webdom.common.api.exception.ObjectNotFoundException: Find Object timeout. Detail information:/web:window[@index='0' or @title='JD Edwards']/web:document[@index='0']/web:span[@text='Asset Management'].
    at oracle.oats.scripting.modules.webdom.api.elements.DOMTestObject.checkTestObject(DOMTestObject.java:237)
    at oracle.oats.scripting.modules.webdom.api.elements.DOMTestObject.checkTestObject(DOMTestObject.java:261)
    at oracle.oats.scripting.modules.webdom.api.elements.DOMTestObject.checkTestObject(DOMTestObject.java:269)
    at oracle.oats.scripting.modules.webdom.api.elements.DOMElement.checkTestObject(DOMElement.java:2107)
    at oracle.oats.scripting.modules.webdom.api.elements.DOMElement.checkElement(DOMElement.java:769)
    at oracle.oats.scripting.modules.webdom.api.elements.DOMElement.click(DOMElement.java:244)
    at script.run(script.java:99)
    at oracle.oats.scripting.modules.basic.api.IteratingVUser.run(IteratingVUser.java:353)
    at oracle.oats.scripting.modules.basic.api.internal.IteratingAgent.run(IteratingAgent.java:801)
    at java.lang.Thread.run(Thread.java:745)
21:49:40,285 ERROR [1] Iteration 1 failed at line (script.java:99). Find Object timeout. Detail information:/web:window[@index='0' or @title='JD Edwards']/web:document[@index='0']/web:span[@text='Asset Management'].
oracle.oats.scripting.modules.webdom.common.api.exception.ObjectNotFoundException: Find Object timeout. Detail information:/web:window[@index='0' or @title='JD Edwards']/web:document[@index='0']/web:span[@text='Asset Management'].
    at oracle.oats.scripting.modules.webdom.api.elements.DOMTestObject.checkTestObject(DOMTestObject.java:237)

Ahh terrific.  This will be a post for another night!

No comments: