What I want to do is to construct, with Selenium, what I will call a “stressful scenario” test. There will be, worst case, about 4,000 actors, each one pretending to be a student who is taking an online exam, all at the same time.
I have in mind to model this scenario with, say, “n” processes (on different computers), each of whom is running a Perl program that is maintaining, say, “4,000 / n” simultaneous Test::WWW::Selenium test sessions (and their associated web-browser processes, etc.).
Each “student,” according to various pseudo-random rules, “stops to think” for a random period of time, then “does something.” Each student-simulator keeps track of whether or not they have finished the test. (Some will not, but the test drops-dead after one hour. We all remember that, now don’t we? ...)
So far, so good? Well, it seems to me that a very good way to do that is with POE, because actors do spend most of their time “thinking,” and so the processing can be effectively and efficiently simulated using a timer-queue like the one that POE provides. (Each actor is basically an individual finite-state machine.)
Bearing in mind the rule, do not do a thing already done, I’m starting my investigation now to try to find whatever existing modules might be close to, if not exactly, what I am looking for. Suggestions and pointers are now very cordially requested by this humble penitent.