How can I test my app in many devices and many OSs?

I wonder how you guys have been testing your apps in a great number of devices and OSs to ensure that everything works properly and is shown as planned.

Is it enough to test the apps in emulators?

I don’t seem to trust in emulators as much I do in real devices (although it’s way harder to do it, not mentioning that in the future this would be something to automate)