On ZTR's the battery leads take a beating as they are exposed to the elements
Run a jumper from the battery + to the solenoid + and try again
Then do the same from - terminal to a good ground on the engine & try again
IF both times it makes no difference then new battery time
You can double check by running jumpers from you car/ truck to both the mower battery & the engines + solenoid