Как сделать такую «инфраструктуру», чтобы копии программы запускались независимо друг от друга?
Сложно объяснить это точно, но вот что надо :) Есть сетевая программа, которую надо тестировать. У нас есть кликеры, которые настроены кликать в определённые места проги, с этим проблем нет. Программа работает с элементами "рисования" (реагирует на нарисованные в программе жесты курсором), поэтому мышь для её работы просто необходима. Этим объясняется использование подобного "кликерного" софта с заранее заданными траекториями движения.
Цель в том, чтобы запустить несколько копий этой программы (5-10 штук) и тестировать одновременно их все, анализируя нагрузку на сервер. Но проблема в том, что мышь всего одна на компе, а кликеры кликают именно мышкой, на вторую копию проги мышки уже не хватает, а надо, чтобы работали они в параллель :)
Можно ли как-то автоматизировать этот процесс с помощью виртуалок и т.д.? В каком направлении можно смотреть? Как я понимаю, нужна своя ОС для каждой копии проги + свой указатель мыши. Но даже если десять VirtualBox'ов запускать, указатель ведь будет только один. Что можно предпринять в данном случае?
Но даже если десять VirtualBox'ов запускать, указатель ведь будет только один.
Нет. В каждой ОС указатель свой. При активации окна VirtulaBox события (движения, клики) от мыши из host-OS начинают транслироваться мышиному драйверу в гостевой системе, который двигает указатель в той ОС. Если переключиться между окнами двух запущенных VirtulaBox-ов, то можно увидеть, что указатель в каждой из них находится в разном месте (там, где вы его "оставили").
Короче: кликеры в двух разных ОС будут работать независимо.
Да, любая виртуальная машина будет отлично работать. В юности запускал несколько виртуалбоксов, каждый со своим кликером. Сворачивал их и парралельно занимался своими делами на хост-машине.
Если проблема только в анализе нагрузки, то да, конечно. Хочется тесты делать максимально приближенные к реальному человеку. Программа, связанная с рисованием, она реагирует на нарисованные жесты. Просто генерировать траектории - не прокатит, она реагировать на них не будет. Придётся дорабатывать очень много чего. Поэтому хотелось вначале пойти именно по пути создания своей виртуальной среды со своим курсором мыши :)