Here's a good one
http://www.investopedia.com/simulator/
Try to focus on risk, not profits. Determine your time frame, risk level and use good money management techniques to develp a trade plan, and test your plan on the simulator. Arbitrarily hitting buttons tells you nothing. But used properly, the simulator can provide you with valuable information, in addition to being a valuable learning tool. But it tells you nothing about trading with real money.
"Practice" does not make perfect. Only perfect practice makes perfect.
The best place to practice trading stock online for an unlimited time is here : http://www.plus500.com/?id=80863&pl=2 . Later when you have some experience, you can start trading with real money.
As in, you buy with fake money just for the experience. and the website doesn't cost anything to use