0

I typically write automation using Java/Selenium but placing an order using a typical script takes close to a minute per order on our sites. I'm looking at potentially placing hundreds if not thousands of orders which will take on the order of days. Validation of the orders will be completed by a monitoring service so the script doesn't need to do any validation... it just needs to place orders as fast as possible. I'm looking for other tools or methods to place orders using automation.

I have investigated the web service route and there are none available. I am currently exploring placing orders using LoadRunner. This method is placing an order about every 5s but I think I'm going to run into issues mapping all the different product options into the script... besides the fact that I feel like I'm using a screwdriver to hammer a nail...

Any suggestions on how to accomplish this? I'm open to just about anything. I am familiar with Eclipse/Java/Selenium and Visual Studio/C#. I think we'd be open to even purchasing a tool, depending on the cost, if it made this task easy.

If I can't find another option, I'll probably end up writing the script in Java/Selenium and running multiple instances. There are reasons why this may be an issue also though, thus the search for alternate approaches.

1

Well, this depends on your application.

At a former location there was a database that orders was injected into after initial processing, by injecting into the database directly I was able to make millions of orders in a matter of minutes. This will usually bypass many parts of the system (Payments, Inventory validation etc). If those pieces are not being tested than bypassing them should be fine.

If you want a tool to process orders quickly, your best option would likely be a load testing tool. That is what they are designed for. So essentially, you're using a hammer to hammer a nail. There is many, including load runner or JMeter.

If you want to continue to use Selenium, I would recommend using the HtmlUnitDriver since it is a headless version and will execute far faster than any browser. You could run multiple instances simultaneously using a grid with multiple VMs.

There is also great tools for load testing the API portions which would likely achieve faster results than the UI pieces, since the UI likely hits those APIs anyways. LoadUI is/was a good tool for this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.