(( No, actually, it doesn't. You see, in the games, when you're battling another trainer, you have no choice but to attack. However one of the old old old Pokémon animes showed that Ash fought a Vaporeon that had protected itself. So Pikachu was taunting the Vaporeon until Protect wore off, then...
However, Waterfly didn't attack, only swam in circle around Pez. Protect wore off, and, swimming up to every Vaporeon's weak spot, back of the neck, she used Aurora Beam right on Pez's weak spot before Pez could even move.
Waterfly dodged the water gun attack and melted away into the water, making her invisible.
(And I quote from Bulbapedia, they can do that: While they are much easier to see while they are resting onshore, they possess the ability to rearrange themselves on a molecular level, causing themselves...
"Yet, however, this is the only one that's nearby. And clean, thanks to Suicune." Waterfly gestured to Sui, who was purifying the waters by jumping on them, creating rings around the water, cleaning it.