Перейти к содержимому

Фотография

Многопоточный тест с разными логин пароль - как ?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 saderty

saderty

    Новый участник

  • Members
  • Pip
  • 14 сообщений

Отправлено 04 ноября 2020 - 09:20

привет

есть тест - использующий предварительную авторизацию

задача - запустить тест многопоточно

есть 5 пар лог -пасс

подскажите как можно запустить тест например 100 -раз в 5 потоков и при этом чтобы одновременно не пересекались логины ?


  • 0

#2 Lara_Kroft

Lara_Kroft

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 21 ноября 2020 - 23:31

Здравствуйте :)

 

Слишко мало деталей для подсказки)

 

Если у вас веб автоматизация, то ваш драйвер должен бить заимплементирован как многопоточний - лучше всего обернуть его в ThreadLocal 

https://docs.experit... Best Practices (Web Driver in individual test method using ThreadLocal) и https://www.youtube.com/watch?v=5wgusEV4uSQ (гуглила налету, но ви можете поискать видео получше)

 

Если у вас бек-енд (АРІ) автоматизация, то можна использовать UserPool - 

public class UserPool {

	private static Map<Long, String> userIds = new HashMap<>();

	public static String getUser() {
		long threadId = Thread.currentThread().getId();
		if (!userIds.containsKey(threadId))
			userIds.put(threadId, createIndividualUser());

		return userIds.get(threadId);
	}
	
	// createIndividualUser() - должен создавать нового юзера и возвращать его уникальную Id

Ну, и конечно, лучше всего использовать TestNg (нежели jUnit, хотя в 5 версии много крутих фич) для таких целей. У него есть уже предусмоетрний @DataProvider(parallel = true), что позволяет запускать тести в паралели :)

 

Удачи вам!


  • 0

#3 Lara_Kroft

Lara_Kroft

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 21 ноября 2020 - 23:35

Ах да, еще зависит от вашей build tools - Gradle vs Maven. Но в целом подход схожий - 

 

gradle clean test --tests com.your_test_project.testClass -DthreadCount=5 -Dparallel=methods


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных