Avatar of Bobby
Bobby
Flag for United States of America asked on

Need to automate full feature testing of our website

There arent enough of us to do the full testing we should do on new features we build for our website, plus to just make sure things keep on functioning as they should. We need to set up automated testing of all of our website features, like logging in, getting special pricing levels based on who you are, shipping API's functioning as they should, general website functionality etc. Is Selenium a good way to go? If so, can somebody please give me a bullet point list of how to get started and implemented? This is for a large website on LAMP stack. Thanks very much.
Web DevelopmentSeleniumWeb ApplicationsUsability TestingGolang

Avatar of undefined
Last Comment
Bobby

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Craig Kehler

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Bobby

ASKER
Thanks very much. Would you just get the free cypress test runner, or also a cypress dashboard as well?
Craig Kehler

You can setup a "Seed" dashboard for free and then determine how much you need it for your Continuous Integration testing. At first I would focus on getting the tests running and then look more at reporting and integration after you get some proof of concepts in place. Their pricing seems pretty reasonable when you consider all the effort that can go into chasing down failures. :)
Bobby

ASKER
So would I need to have our web host install Cypress on our Linux web server?
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
David Favor

I'd suggest you take Craig's advice, a simple npm install cypress will save you many days of time mucking with Selenium, you can never get back. I haven't personally used cypress + docs suggest it's a well thought out Selenium upgrade.

You said, "So would I need to have our web host install Cypress on our Linux web server?"

Sigh... To imagine you can really setup + run a test harness... doing unit testing... without a dedicated server with root ssh access... I suppose this is possible + you'll likely hit many problems which will leave you stuck for days waiting on your hosting company.

To do unit testing, your likely first step will be to move onto dedicated machines + hire a good admin person.

If you're setting up dedicated machines for the first time, read over many of my other posts about using OVH to provision your hardware + using LXD to partition off various applications in bootable containers.
Bobby

ASKER
David,

Thanks for the input... I do have ssh access on our dedicated server, but they do any root stuff. I was thinking it would be more like they would install Cypress, do any config that needed to be done in any .ini files, and then I'd be off and running, with occasional help needed from them for some structural need. Do you think that's untenable?
Craig Kehler

I think many of us are just used to having complete control of our servers and would hate having to wait on a 3rd party to make any changes. If you are making the move to automated testing, I'd highly recommend getting a dedicated test server. Not sure what you meant by "our dedicated server" if that is for the business or for the testing department specifically. AWS has basic Linux servers for as low as $3.50/month. :)
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Bobby

ASKER
We have 3 dedicated servers at Pair Networks... one is our sandbox, one is for staging so we can push code to it and have it tested by staff, the 3rd is our production server. I want to set up this automated testing stuff on our staging and live servers.

So I'm liking what I see with Cypress... since we have what we have, next step is to install it, correct? And it looks more front-end usable than back-end, so maybe something like PHPUnit for back-end stuff.
David Favor

Correct.

Cypress - Front end, code requiring a browser.

PHPUnit - Back end, headless (no-browser) code.
Craig Kehler

That sounds like a good approach. Thanks for clarifying!

I'm a little hesitant on running automated browser testing on production if it can be avoided. We focus on making our staging environment identical to our production environment and a good deploy process, so the testing can all be performed on the staging environment with a few rare exceptions.

Hopefully things work out well with Cypress, it really looks promising.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
Bobby

ASKER
Thanks guys.
Bobby

ASKER
Another quick 2 questions... what server path should each of these be installed to? We host our own Git but are migrating that main repo to Git Hub, if that makes a difference. Should each of these just be installed in the home dir and not in our individual user folders (which are watched by Git)?