Прежде всего, для примера, который вы показали, Gradle работает так, что запускает новую JVM, отдельный процесс для каждого TestSuite.Это означает, что это не проблема многопоточности, а скорее проблема синхронизации процессов.
Вам потребуется создать некоторую блокировку для ваших процессов.Самым простым способом, который я могу придумать, является создание каталога блокировки в файловой системе.
Напишите служебный метод, который проверяет, существует ли каталог блокировки, и, если он есть, подождите, пока он исчезнет,Продолжить.Если каталог отсутствует, создайте каталог.Получите доступ к изолированной программной среде оплаты, только если вы создали каталог.
Имейте в виду, что в зависимости от вашей реализации могут возникнуть условия гонки.Но это не должно быть проблемой на практике.Поскольку тесты пользовательского интерфейса довольно медленные, вы, вероятно, не будете запрашивать частоту, достаточно высокую, чтобы когда-либо заметить это.