TestNG работает в разных потоках при использовании тайм-аута, есть ли вероятность, что мы можем использовать один и тот же поток - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь создать threadLocal веб-драйвер.

Пытаюсь инициализировать и войти в систему через приложение в @BeforeClass.

@ test имеет функциональность.Этот тест работает правильно, но всякий раз, когда я использую @test (timeOut = 1200), он терпит неудачу из-за того, что timeOut в Testng запускается в другом потоке.

Но всякий раз, когда в @test (timeOut = 1200) есть timeOut, TestNG создает два новых потока для @beforeclass и @ test.

Есть ли вероятность, что он будет работать водин поток.

Я пробовал TestNG-7.0.0-beta1 с -Dtestng.thread.affinity = true JVM-агентом.Но он все еще не выполняет мое требование.

Спасибо, balraj

1 Ответ

0 голосов
/ 18 ноября 2018

Начиная с последней выпущенной версии TestNG, а именно, 7.0.0-beta1, в настоящее время это не поддерживается в TestNG. Всякий раз, когда вы указываете атрибут timeout для метода @Test, TestNG порождает его в отдельном потоке, чтобы он мог устанавливать таймауты.

Но это поведение применимо только для метода @Test, а не для

  • слушатели (либо IInvokedMethodListener при условии beforeInvocation() (или) afterInvocation()) (или)
  • для методов конфигурации, таких как @BeforeMethod (или) @AfterMethod аннотированные конфигурации

[Это единственный набор методов, которые TestNG обычно работает в том же потоке, что и метод @Test].

Эта проблема, о которой вы также знаете, отслеживается с помощью https://github.com/cbeust/testng/issues/914

...