Автоматически публиковать результаты тестов в JIRA Adaptavist Tool из тестовых примеров rest api, запущенных на eclipse - PullRequest
0 голосов
/ 03 февраля 2019

Я ищу идею обновить мои контрольные примеры автоматизации в JIRA Adaptavist Test Management Tool.Контрольные примеры написаны на Java & TestNg и выполняются на виртуальной машине.Пожалуйста, предложите, какой метод является хорошим для автоматического обновления результатов теста (Pass Or Fail) в средстве управления тестами JIRA Adaptavist.В настоящее время мы вручную обновляем результаты в инструменте.

Проблема с использованием Zephyr и XRay или любого другого стороннего инструмента COTS заключается в том, что из-за обременительных и задержанных процессов утверждения.

Я ценю ваше время, помощь и поддержку.

Наша команда по тестированию Android разработала следующий код, и мы не знаем, как этого добиться.

Here is the android team's code :

Open class rTestCaseHelper {

@rule
@JvmField
val grantWriteStorageAccess: GrantPermissionRule = GrantPermissionRule.grant(
android.Manifest.permission.WRITE_EXTERNAL_STORAGE)

@rule
@JvmField
val reportRule :TestWatcher = Object : TestWatcher() {
var startTime = 0
override fun starting(description: Description?) {
startTime = System.currentTimeMillis().toInt()

if (sharedPreference.getTestCount() == 0) {
testManager.getTestIdAndStoreToSharedPreference()
testManager.createTestCycle()
}

}

override fun succeeded(description: Description?) {
if(description != null) {
val executionTime = System.currentTimeMillis().toInt() - startTime
testManager.generateExecutionReport(description.methodName, result: "Pass", executionTime)

}

}

override fun failed(e: Throwable?, description: Description?) {
super.failed(e.description)
if(description != null) {
val executionTime = System.currentTimeMillis().toInt() - startTime
testManager.generateExecutionReport(description.methodName, result: "Fail", executionTime, e)

}

}

override fun finished(description: Description?) {
sharedPreference.setTestCount(sharedPreference.getTestCount() -1)
//Post artfact report link to test cycle (TODO)
testManager.postWebLinkToTestCycle()

rSharedPreference.preference.edit().clear()
Log.d(tag: "QAA", msg: "Automation suite finished and sharedPreference data is cleared!")

}

}

}
fun initializeSDK(activeProtection: Boolean = false): Boolean {
rSdkEnvironment.initializeSDK(activeProtection, InstrumentationRegistry.getInstrumentation().targetContext)
return rSdk.isInitialized() 
}

1 Ответ

0 голосов
/ 04 февраля 2019

Не уверен, что именно ты ищешь.Вот один из способов сделать это: создать новую пользовательскую аннотацию, которую можно использовать для ссылки на идентификатор Jira, представляющий конкретный контрольный пример.Пометьте метод @Test новой аннотацией, чтобы мы связали тестовый метод с его идентификатором JIRA.Теперь создайте прослушиватель TestNG, реализовав ITestNGListener и в его onTestFailure () получите идентификатор Jira, получив пользовательскую аннотацию с помощью вызова ITestResult.getTestMethod (). GetConstructorOrMethod (). GetMethod (), а затем выполните вызов RESTful для вашего экземпляра Jira.обновить результаты теста.«Все желаемое в жизни - нелегальное, дорогое, откормленное или влюбленное в кого-то еще!»

testManager.postWebLinkToTestCycle()

rSharedPreference.preference.edit().clear()
Log.d(tag: "QAA", msg: "Automation suite finished and sharedPreference data is cleared!")

}

}

}
fun initializeSDK(activeProtection: Boolean = false): Boolean {
rSdkEnvironment.initializeSDK(activeProtection, InstrumentationRegistry.getInstrumentation().targetContext)
return rSdk.isInitialized() 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...