Read the section titled “Exclude built-in libraries” in the doc:
You can exclude the org.apache.httpcomponents.httpclient_4.5.1.jar which is built-in out of the .classpath file. And at the same time you can include org.apache.httpcomponents.httpclient_4.5.13.jar in the Drivers folder, which will be added into the .classpath file. Effectively you can replace the 4.5.1 with the 4.5.13.
Thank you, @kazurayam. I’d already done something like that (I downloaded the Twilio API jar that includes org.apache.httpcomponents.httpclient_4.5.13 to the Drivers folder). I asked you for help with some info about using Gradle because you are one of the most knowledgable and helpful experts I know.
20h "@em817m , I apologize for writing in your topic w/o having any solution. I’m just wondering is it the right aproach to have an encripted security key stored in Katalon Project? Whatever is encrypted can de decripted. Woudn’t it be safer to store a security key in some environment variable*?"*
What would be the best way to use secret API keys (needed to work with the Twilio API written in Java) so they can be used in the Katalon WEB scripts (not API scripts) that are to be run on Jenkins (with Katalon plugin) nodes that are used on demand?
I personally would never store any serious credential information in a project (= Git repository) regardless encripted or not. It is too scarely for me to save serious credentails in a Git repository, which should be open and shared, even if encripted.
I personally store credentails (URL hostname + username/password) in my local Mac’s Keychain.
My selenium test scripts reads the Keychain database via Command Line Interface = security command of Mac. A working sample code is here:
However, you should re-think if the password you have in your mind is REALLY serious one that must be strongly protected. Does it cost much money for you if the password is exposed public? In many cases, username/password pairs used for UI testing are not really worth hard-to-break security efforts; they may be just data.
Thanks, @bionel . Do you happen to know how exactly to store sensitive data both locally and, for example, in the (external) Jenkins and to be able to pass them at runtime to Katalon while running either locally or, for example, in the (external) Jenkins by using the same code?
If I were to make my local PC and my remote CI/CD server to share some information, I would store the information in AWS S3 storage. I would choose S3 because I am accustomed to it; others may choose Google Drive or something in Microsoft Azure. I would allocate restricted access permissions to the S3 storage by the AWS way.
I will write my test script code to read the information from AWS S3 storage. I know how to write my Groovy Test Case script so that they communicate with AWS S3. It requires a custom (a bit deep) coding technique. Unfortunately Katalon does not provide any built-in capabilty to use AWS S3.
Though you may ask a recursive question: how to manage the credential information that manages access to AWS S3 itself. Well, that is the first topic you need to learn for getting started with AWS in general. See the following article for example
Too much complicated for you? Then you should invent your own concrete way.