Я ищу идею обновить мои контрольные примеры автоматизации в 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()
}