Skip to content

Instantly share code, notes, and snippets.

View eakurnikov's full-sized avatar

Egor Kurnikov eakurnikov

View GitHub Profile
class TestResultsFilesProvider(
private val testResultsDirsProvider: TestResultsDirsProvider,
private val addTimestamps: Boolean
) {
private val logcatRootDir = File("logcat")
private val screenshotsRootDir = File("screenshots")
private val videoRootDir = File("video")
private val viewHierarchy = File("view_hierarchy")
fun provideLogcatFile(tag: String): File =
@eakurnikov
eakurnikov / ui_test_videos.kt
Last active March 11, 2021 15:23
Тест метод должен быть помечен аннотацией @RecordVideo.
class VideoTestInterceptor(
private val zenVideoRecorder: ZenVideoRecorder
) : TestRunWatcherInterceptor {
override fun onTestStarted(testInfo: TestInfo) {
zenVideoRecorder.start("Video_${testInfo.testName}")
}
override fun onTestFinished(testInfo: TestInfo, success: Boolean) {
zenVideoRecorder.stop()?.attachVideoToReport()
//buildSrc
class PullResultsFromDevicesTask extends DefaultTask {
private Property<TestsRunConfig> config = project.objects.property(TestsRunConfig.class)
private DirectoryProperty testCasesDir = project.objects.directoryProperty()
@Input
Property<TestsRunConfig> getTestsRunConfig() {
return config
}
@eakurnikov
eakurnikov / Interceptors.kt
Created June 16, 2020 18:16
Kaspresso-Allure mapping interceptors
class AllureMapperStepInterceptor : StepWatcherInterceptor {
private var allureStep: Step? = null
override fun interceptBefore(stepInfo: StepInfo) {
allureStep = Step().apply { stepStart(stepInfo.description) }
}
override fun interceptAfterWithSuccess(stepInfo: StepInfo) {
allureStep?.stepCompleted()