Another option is a cam mounted to a motor, but it requires some form of roller bearing mounted to the keycap. I've been considering making something like this to wear in new MX switches. It should be pretty fast (even at just 1000rpm you'll get almost 17 presses per second). You can mount different switches at different heights to get the movement to match the bottom out distance.
The advantage of a solenoid, though, is that you can simulate bottoming out forces and I'm sure that will put a bit more strain on the springs. On the other hand, the cam will simulate slight off-angle presses, so they may give slightly different wear results.
I'd be interested in more than just the spring fatigue, but also how the tactility and smoothness change with wear.
If you do complete this project, PLEASE post your testing methods and results here. I suspect it would be very interesting and useful information for most of the users of this site.