Bamboo CI/CD Implementation Issues

Ask general questions here.
User avatar
jarrettmk
Posts: 9
Joined: Wed Sep 19, 2018 6:10 pm

Bamboo CI/CD Implementation Issues

Post by jarrettmk » Wed Sep 19, 2018 7:10 pm

I am currently trying to set up Ranorex to run via our Bamboo CI/CD pipeline. We are using Ranorex Studio/License Manager 8.2.1 and Remote Agent 4.0.0. I am running into the following issues...

Attempting to use Bamboo to Build Ranorex Solution:
I found when trying to setup Bamboo to build the Ranorex project that it required Ranorex Studio to be installed. I don't want to use one of our Studio licenses for just the build server so I changed my approach. Now I am building the solution locally and checking in the DLLs/EXEs/etc into BitBucket when I commit my changes. Bamboo pulls the Bin folder (which includes the Ranorex Runtime) down from the repository and uses the desired project's EXE to execute tests on a Remote Agent. This solution seems to be working but are there any downsides to using this approach?

Remote Agent Instrumentation:
I have the Ranorex Remote Agent installed and talking to the license manager on the server that will be used to execute my tests. I have the Chrome and Firefox extensions installed as well. Bamboo is able to run the EXE on the remote agent, however, I am running into an issue for Internet Explorer. I cannot figure out how to get the Ranorex Internet Explorer add-on/extension installed on the Remote Agent. It doesn't seem to get installed when you install the Ranorex Remote Agent (RanorexRemoteAgent-4.0.0.msi) and the documentation all says that you need to install Ranorex Studio to get the IE Extension to install. I do not see why I need to install Studio on that machine just to get the extension. Is there some other way around this?
Side Note About IE Extension: On the machine I am developing my tests on Ranorex keeps warning that the Ranorex extension is not installed for IE whenever I run the tests in InPrivate mode. I have already made sure my IE is configured how Ranorex recommends and on the Privacy tab in IE Options "Disable toolbars and extensions when InPrivate Browsing starts" is NOT checked. I don't think it is just a false warning as it does seem to be taking a long time to identify objects. Has anyone else encountered this?

JUnit Test Results:
I am able to get tests to run on the Remote Agent and generate both rxzlog and junit results. However, when Bamboo tries to parse the junit results I keep getting that it failed to parse. I have tried Bamboo's JUnit Parser and XUnit Parser. Based on Ranorex's documentation it looks like the .rxlog.junit.xml logs should be both JUnit and XUnit compatible. I downloaded a standalone XUnit Parser and it was able to parse it with no problems so I'm thinking it's an issue with Bamboo's parsers. Has anyone else run into this? I need to parse the results to see if there was a test failure otherwise the plan always passes because the EXE is able to successfully run.

The specific error that Bamboo is giving me is:
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. INFO | jvm 1 | 2018/09/19 09:03:24 | at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) INFO | jvm 1 | 2018/09/19 09:03:24 | at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) INFO | jvm 1 | 2018/09/19 09:03:24 | at com.atlassian.security.xml.RestrictedXMLReader.parse(RestrictedXMLReader.java:103) INFO | jvm 1 | 2018/09/19 09:03:24 | at com.atlassian.bamboo.build.test.junit.JunitTestResultsParser.parse(JunitTestResultsParser.java:96) INFO | jvm 1 | 2018/09/19 09:03:24 | at com.atlassian.bamboo.build.test.junit.JunitTestResultsParser.parse(JunitTestResultsParser.java:85) INFO | jvm 1 | 2018/09/19 09:03:24 | at com.atlassian.bamboo.build.test.junit.JunitTestReportCollector.collect(JunitTestReportCollector.java:42) INFO | jvm 1 | 2018/09/19 09:03:24 | at com.atlassian.bamboo.build.test.TestCollationServiceImpl$1$1.run(TestCollationServiceImpl.java:129) INFO | jvm 1 | 2018/09/19 09:03:24 | at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) INFO | jvm 1 | 2018/09/19 09:03:24 | at java.util.concurrent.FutureTask.run(Unknown Source) INFO | jvm 1 | 2018/09/19 09:03:24 | at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) INFO | jvm 1 | 2018/09/19 09:03:24 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) INFO | jvm 1 | 2018/09/19 09:03:24 | at java.lang.Thread.run(Unknown Source)

User avatar
jarrettmk
Posts: 9
Joined: Wed Sep 19, 2018 6:10 pm

Re: Bamboo CI/CD Implementation Issues

Post by jarrettmk » Thu Sep 20, 2018 3:33 pm

Update on the JUnit issue:
After viewing the JUnit file that Ranorex generated in a HEX editor I found there was the UTF-8 BOM character at the very beginning of the file which is what is causing the issue. I was able to write a Powershell script to remove the character before going on to the parsing stage of my plan to get around it for the moment. It seems like that is an issue with how Ranorex generates the file rather than an issue with Bamboo.
Jarrett Karyshyn
Quality Assurance & Automation Engineer
USA - EST (UTC−05:00)/EDT (UTC−04:00)
Image