Is there any UI test automation tool or framework exist that can automate Windows Phone 8 metro app?
I must recommend Perfectomobile. You test on real devices and they do have them all.
I havn't used it in my project (yet), but those that have do really recommend it.
The Windows Automation APIs (UIAutomation) is a robust framework for automating Windows Phone 8 apps. For more information see Automating the testing of Windows 8 Apps
Try Experitest's seetest, I'm not sure that their version for Windows phone 8 is officially out, but AFAIK is on the way and they did a good job automating Android.
If it can help, you can have a look at SIKULI, it is not a Windows Phone 8 testing tool, but it is a tool for UI testing. Here a list of videos http://www.sikuli.org/testing.html (it doesn't work on real device)
According to Mark Chamberlain from Microsoft:
There isn't a built in mechanism enabling you to programmatically mimic touch, tap, gestures, etc.
You would need to build such simulation into your app, for example if you have a UI element's Tap event handler in your code, your UI tap simulator could directly call that event handler.
However, there is now a simple UI Test project on MSFT, with demonstration of how to write one using the Automation Peer classes.
Finally, Justin Angel, a dev with a blog on this subject has a piece and example on how one might achieve this over on Stackoverflow.