Skip to content

Uitest - 캘린더, 기분 기록, 설정 #171

Uitest - 캘린더, 기분 기록, 설정

Uitest - 캘린더, 기분 기록, 설정 #171

GitHub Actions / Xcode test results failed Apr 19, 2024 in 0s

Xcode test results

Testing project PlantingMind with scheme PlantingMind

Summary

TotalSuccess PassedFailure FailedSkipped SkippedExpected Failure Expected Failure⏱️ Time
535210017.16s

Test Summary

PlantingMindTests

  • Device: iPhone 15 Pro, 17.0.1 (21A342)
  • SDK: Simulator - iOS 17.0, 17.0
TestTotalSuccessFailureSkippedExpected Failure
test-class AnalysisViewModelTests22000
test-class CalendarViewModelTests99000
test-class DayCellViewModelTest88000
test-class MonthPickerViewModelTests66000
test-class MoodRecordViewModelTests77000
test-class NotificationSettingsViewModelTests22000
test-class SettingsViewModelTests55000

PlantingMindUITests

  • Device: iPhone 15 Pro, 17.0.1 (21A342)
  • SDK: Simulator - iOS 17.0, 17.0
TestTotalSuccessFailureSkippedExpected Failure
test-class PlantingMindUITests_Calendar44000
test-class PlantingMindUITests_MoodRecord44000
test-class PlantingMindUITests_Settings65100

Failure Failures

PlantingMindUITests/PlantingMindUITests_Settings/test_06_기록삭제_후_복원()

File/Users/runner/work/Planting-Mind/Planting-Mind/PlantingMind/PlantingMindUITests/XCTestsExtension.swift:13
Issue TypeAssertion Failure
MessageXCTAssertTrue failed

Code Coverage

Coverage Covered Executable
FirebaseCrashlytics 30.40 % 3300 10854
  FIRCLSUtility.m 15.33 % 21 137
  FIRCLSAsyncOperation.m 0.00 % 0 98
  FIRCLSCompoundOperation.m 0.00 % 0 131
  FIRCLSByteUtility.m 55.22 % 37 67
  FIRCLSDataParsing.c 0.00 % 0 150
  FIRCLSInternalReport.m 29.87 % 46 154
  FIRCLSMachOBinary.m 0.00 % 0 106
  FIRCLSMachOSlice.m 0.00 % 0 67
  FIRCLSHost.m 66.67 % 60 90
  FIRCLSFABHost.m 55.00 % 22 40
  FIRCLSSignal.c 43.84 % 121 276
  FIRCLSContext.m 84.12 % 302 359
  FIRCLSProcessReportOperation.m 0.00 % 0 68
  FIRCLSManagerData.m 92.00 % 23 25
  FIRCLSCodeMapping.m 0.00 % 0 11
  FIRCLSAllocate.c 53.57 % 75 140
  FIRCLSURLBuilder.m 86.27 % 44 51
  FIRStackFrame.m 0.00 % 0 40
  FIRCLSFABAsyncOperation.m 85.71 % 90 105
  FIRCLSCompactUnwind.c 0.00 % 0 244
  FIRCrashlytics.m 42.34 % 116 274
  FIRCLSFile.m 65.63 % 294 448
  FIRCLSSymbolResolver.m 0.00 % 0 116
  FIRCLSUnwind.c 0.00 % 0 157
  FIRCLSDemangleOperation.mm 0.00 % 0 57
  FIRCLSNetworkResponseHandler.m 33.04 % 76 230
  FIRCLSLaunchMarkerModel.m 83.33 % 30 36
  FIRCLSCallStackTree.m 0.00 % 0 83
  FIRCLSDownloadAndSaveSettingsOperation.m 90.36 % 75 83
  FIRCLSSettingsManager.m 79.71 % 55 69
  FIRCLSConstants.m 100.00 % 6 6
  FIRCLSNetworkOperation.m 89.36 % 42 47
  FIRCLSInternalLogging.c 70.59 % 48 68
  FIRExceptionModel.m 0.00 % 0 12
  FIRCLSUnwind_arm.c 0.00 % 0 237
  FIRCrashlyticsReport.m 0.00 % 0 109
  FIRCLSOnDemandModel.m 10.38 % 19 183
  FIRCLSThreadArrayOperation.m 0.00 % 0 10
  FIRCLSExistingReportManager.m 37.44 % 76 203
  FIRCLSProcess.c 3.46 % 15 433
  FIRCLSMachException.c 25.39 % 65 256
  FIRCLSException.mm 4.56 % 14 307
  FIRCLSExecutionIdentifierModel.m 77.78 % 7 9
  FIRCLSCrashedMarkerFile.c 0.00 % 0 9
  FIRCLSRolloutsPersistenceManager.m 0.00 % 0 34
  FIRCLSContextManager.m 76.67 % 23 30
  FIRCLSApplicationIdentifierModel.m 81.25 % 78 96
  FIRCLSUUID.m 100.00 % 12 12
  FIRCLSBinaryImage.m 61.56 % 213 346
  FIRCLSSerializeSymbolicatedFramesOperation.m 0.00 % 0 27
  FIRCLSHandler.m 0.00 % 0 13
  FIRCLSInstallIdentifierModel.m 25.23 % 27 107
  FIRCLSMetricKitManager.m 0.00 % 0 295
  FIRCLSSymbolicationOperation.m 0.00 % 0 8
  FIRCLSRecordApplication.m 0.00 % 0 8
  FIRCLSReportUploader.m 6.15 % 11 179
  FIRCLSDataCollectionArbiter.m 47.83 % 33 69
  FIRCLSUserLogging.m 16.95 % 71 419
  FIRCLSReportAdapter.m 0.00 % 0 167
  FIRCLSNotificationManager.m 92.42 % 61 66
  FIRCLSDwarfExpressionMachine.c 0.00 % 0 303
  FIRCLSDwarfUnwind.c 0.00 % 0 667
  FIRCLSUserDefaults.m 67.57 % 200 296
  FIRCLSRecordBase.m 0.00 % 0 3
  FIRCLSRecordIdentity.m 0.00 % 0 8
  FIRCLSMultipartMimeStreamEncoder.m 0.00 % 0 133
  FIRCLSApplication.m 40.18 % 45 112
  FIRCLSThreadState.c 0.00 % 0 52
  FIRCLSLogger.m 25.93 % 7 27
  FIRCLSFileManager.m 64.62 % 126 195
  FIRCLSReportManager.m 61.71 % 195 316
  FIRCLSSettings.m 57.64 % 132 229
  FIRCLSAnalyticsManager.m 20.59 % 14 68
  FIRCLSMachO.m 43.10 % 150 348
  FIRCLSRecordHost.m 0.00 % 0 7
  FIRCLSFABNetworkClient.m 33.52 % 117 349
  FIRCLSdSYM.m 0.00 % 0 58
  FIRCLSDataCollectionToken.m 100.00 % 6 6
GULEnvironment 46.70 % 340 728
  GULNetworkInfo.m 0.00 % 0 88
  GULURLSessionDataResponse.m 100.00 % 8 8
  GULAppEnvironmentUtil.m 56.69 % 89 157
  GULHeartbeatDateStorageUserDefaults.m 0.00 % 0 32
  GULKeychainStorage.m 76.27 % 135 177
  GULKeychainUtils.m 62.96 % 51 81
  GULHeartbeatDateStorage.m 0.00 % 0 81
  GULSecureCoding.m 31.34 % 21 67
  NSURLSession+GULPromises.m 97.30 % 36 37
GULLogger 39.10 % 52 133
  GULLogger.m 39.10 % 52 133
GULNSData 26.28 % 36 137
  GULNSData+zlib.m 26.28 % 36 137
GULUserDefaults 28.69 % 35 122
  GULUserDefaults.m 28.69 % 35 122
PlantingMind.app 96.33 % 2202 2286
  MoodRecordViewModel.swift 91.76 % 78 85
  StringExtension.swift 100.00 % 3 3
  CalendarView.swift 97.50 % 39 40
  MoodRecord+CoreDataProperties.swift 0.00 % 0 3
  CoreDataStack.swift 92.59 % 25 27
  SettingsView.swift 92.21 % 225 244
  Mood.swift 100.00 % 20 20
  CalendarViewModel.swift 96.99 % 129 133
  CalendarGridView.swift 100.00 % 59 59
  MonthPickerView.swift 98.21 % 220 224
  DayCellViewModel.swift 100.00 % 33 33
  AnalysisView.swift 100.00 % 71 71
  DateExtension.swift 100.00 % 6 6
  MonthPickerViewModel.swift 95.95 % 71 74
  DayCellView.swift 100.00 % 77 77
  UTTypeExtension.swift 100.00 % 3 3
  NotificationSettingView.swift 92.48 % 123 133
  MindDocument.swift 43.75 % 7 16
  NotificationSettingViewModel.swift 96.67 % 29 30
  MoodRecordView.swift 99.46 % 549 552
  MoodRecord+CoreDataClass.swift 95.00 % 19 20
  NotifiactionManager.swift 96.84 % 92 95
  ContentView.swift 100.00 % 16 16
  SettingsViewModel.swift 88.42 % 84 95
  CalendarHeaderView.swift 100.00 % 189 189
  PlantingMindApp.swift 100.00 % 20 20
  CrashlyticsLog.swift 0.00 % 0 3
  AnalysisViewModel.swift 100.00 % 15 15
PlantingWidgetExtension.appex 25.28 % 67 265
  StringExtension.swift 100.00 % 3 3
  CoreDataStack.swift 92.59 % 25 27
  Mood.swift 100.00 % 20 20
  MoodRecord+CoreDataProperties.swift 0.00 % 0 3
  PlantingWidget.swift 0.00 % 0 189
  PlantingWidgetBundle.swift 0.00 % 0 3
  MoodRecord+CoreDataClass.swift 95.00 % 19 20
Total 41.53 % 6032 14525

Details

Test Details

PlantingMindTestsback

AnalysisViewModelTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.01s
Successtest-method test_MoodRecord_to_MoodAnalysis_변환_체크()
Successtest-method test_전체_기록_카운트()

CalendarViewModelTests back

SuccessFailureSkippedExpected Failure⏱️
9 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_2024년_1월_이전으로_이동하려는_경우_막기()
Successtest-method test_notification_받아서_fetch()
Successtest-method test_날짜_앞에_nil이_제대로_들어갔는지_확인()
Successtest-method test_다음_달로_이동()
Successtest-method test_백포전환시_날짜가_변경된_경우()
Successtest-method test_원하는_날짜의_mood_받기()
Successtest-method test_이전_달로_이동()
Successtest-method test_해당_월의_mood_list_가져오기()
Successtest-method test_현재_달의_다음_달로_이동하려는_경우_막기()

DayCellViewModelTest back

SuccessFailureSkippedExpected Failure⏱️
8 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_DayCellModel_record_nil()
Successtest-method test_DayCellModel_record_non_nil()
Successtest-method test_isFutureDate_보여줄_날짜가_오늘()
Successtest-method test_isFutureDate_보여줄_날짜가_오늘보다_과거()
Successtest-method test_isFutureDate_보여줄_날짜가_오늘보다_미래()
Successtest-method test_isToday_false_날짜색()
Successtest-method test_isToday_true_날짜색()
Successtest-method test_미래_날짜색은_회색()

MonthPickerViewModelTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_pickedMonth()
Successtest-method test_selectedYear_Month_세팅()
Successtest-method test_시작년도는_시작월부터_12월까지_나와야함()
Successtest-method test_이전년도는_1월부터_12월까지_다_나와야함()
Successtest-method test_이전년도에서_올해로_연도를_돌릴때_아직_오지_않은_달인경우_현재달로_설정()
Successtest-method test_이전년도에서_올해로_연도를_돌리면_올해의_현재달까지_나와야함()

MoodRecordViewModelTests back

SuccessFailureSkippedExpected Failure⏱️
7 (100%)0 (0%)0 (0%)0 (0%)0.03s
Successtest-method test_notification_발송()
Successtest-method test_기록_삭제_확인()
Successtest-method test_기분_데이터_넘겨주는_경우()
Successtest-method test_기분_데이터_없을_때_기본값_확인()
Successtest-method test_수정_후_저장_확인()
Successtest-method test_취소했을_때_변경사항_없는_경우()
Successtest-method test_취소했을_때_변경사항_있는_경우()

NotificationSettingsViewModelTests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_checkPermission()
Successtest-method test_sink_테스트()

SettingsViewModelTests back

SuccessFailureSkippedExpected Failure⏱️
5 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_exportable_기록_없는_경우_false()
Successtest-method test_exportable_기록_있는_경우_true()
Successtest-method test_import_data_들어가는지_확인후_context_save_노티_체크()
Successtest-method test_MindDocument_정상생성()
Successtest-method test_privacy_policy()

PlantingMindUITestsback

PlantingMindUITests_Calendar back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)3.48s
Successtest-method test_00_app_launch()

Activities:
  • Start Test at 2024-04-19 04:47:43.182
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Open com.eunjoo.planting-mind.PlantingMind
    • Launch com.eunjoo.planting-mind.PlantingMind
      • Setting up automation session
      • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tap Target Application 'com.eunjoo.planting-mind.PlantingMind'
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the Target Application 'com.eunjoo.planting-mind.PlantingMind'
    • Check for interrupting elements affecting "Planting Mind" Application
      • Wait for com.apple.springboard to idle
    • Found 1 interrupting element:
      • Find the "“Planting Mind” Would Like to Send You Notifications" Alert
      • "“Planting Mind” Would Like to Send You Notifications" Alert from Application 'com.apple.springboard'
    • Invoking UI interruption monitors for "“Planting Mind” Would Like to Send You Notifications" Alert from Application 'com.apple.springboard'
      • Invoking Allow push
        • Get number of matches for: Descendants matching type Button
        • Waiting 1.0s for Button (Element at index 1) to exist
          • Checking Expect predicate exists == 1 for object Button (Element at index 1)
            • Checking existence of Button (Element at index 1)
        • Checking existence of Button (Element at index 1)
        • Tap Button (Element at index 1)
          • Wait for com.apple.springboard to idle
          • Find the Button (Element at index 1)
          • Check for interrupting elements affecting "Allow" Button
          • Synthesize event
          • Wait for com.apple.springboard to idle
      • Verifying handling...
      • Confirmed successful handling of interrupting element
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tear Down
Successtest-method test_01_달력_Picker로_이동()

Activities:
  • Start Test at 2024-04-19 04:47:53.426
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "monthPickerButton" Button to exist
    • Checking Expect predicate exists == 1 for object "monthPickerButton" Button
      • Checking existence of "monthPickerButton" Button
  • Checking existence of "monthPickerButton" Button
  • Tap "monthPickerButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "monthPickerButton" Button
    • Check for interrupting elements affecting "monthPickerButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for PickerWheel (First Match) to exist
    • Checking Expect predicate exists == 1 for object PickerWheel (First Match)
      • Checking existence of PickerWheel (First Match)
  • Checking existence of PickerWheel (First Match)
  • Waiting 1.0s for PickerWheel (First Match) to exist
    • Checking Expect predicate exists == 1 for object PickerWheel (First Match)
      • Checking existence of PickerWheel (First Match)
  • Checking existence of PickerWheel (First Match)
  • Set value of PickerWheel (First Match) to 2024
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the PickerWheel (First Match)
    • Check for interrupting elements affecting "2024" PickerWheel
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Set value of PickerWheel (First Match) to 01
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the PickerWheel (First Match)
    • Check for interrupting elements affecting "04" PickerWheel
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "doneButton" Button to exist
    • Checking Expect predicate exists == 1 for object "doneButton" Button
      • Checking existence of "doneButton" Button
  • Checking existence of "doneButton" Button
  • Tap "doneButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "doneButton" Button
    • Check for interrupting elements affecting "doneButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "monthPickerButton" Button to exist
    • Checking Expect predicate exists == 1 for object "monthPickerButton" Button
      • Checking existence of "monthPickerButton" Button
  • Checking existence of "monthPickerButton" Button
  • Find the "monthPickerButton" Button
  • Tear Down
Successtest-method test_02_좌우버튼으로_이동()

Activities:
  • Start Test at 2024-04-19 04:47:59.653
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "nextMonthButton" Button to exist
    • Checking Expect predicate exists == 1 for object "nextMonthButton" Button
      • Checking existence of "nextMonthButton" Button
  • Checking existence of "nextMonthButton" Button
  • Tap "nextMonthButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "nextMonthButton" Button
    • Check for interrupting elements affecting "nextMonthButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "monthPickerButton" Button to exist
    • Checking Expect predicate exists == 1 for object "monthPickerButton" Button
      • Checking existence of "monthPickerButton" Button
  • Checking existence of "monthPickerButton" Button
  • Find the "monthPickerButton" Button
  • Waiting 1.0s for "previousMonthButton" Button to exist
    • Checking Expect predicate exists == 1 for object "previousMonthButton" Button
      • Checking existence of "previousMonthButton" Button
  • Checking existence of "previousMonthButton" Button
  • Tap "previousMonthButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "previousMonthButton" Button
    • Check for interrupting elements affecting "previousMonthButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "monthPickerButton" Button to exist
    • Checking Expect predicate exists == 1 for object "monthPickerButton" Button
      • Checking existence of "monthPickerButton" Button
  • Checking existence of "monthPickerButton" Button
  • Find the "monthPickerButton" Button
  • Tear Down
Successtest-method test_03_드래그로_이동()

Activities:
  • Start Test at 2024-04-19 04:48:04.825
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Swipe left "calendarGridView" Other
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "calendarGridView" Other
    • Check for interrupting elements affecting "calendarGridView" Other
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "monthPickerButton" Button to exist
    • Checking Expect predicate exists == 1 for object "monthPickerButton" Button
      • Checking existence of "monthPickerButton" Button
  • Checking existence of "monthPickerButton" Button
  • Find the "monthPickerButton" Button
  • Swipe right "calendarGridView" Other
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "calendarGridView" Other
    • Check for interrupting elements affecting "calendarGridView" Other
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "monthPickerButton" Button to exist
    • Checking Expect predicate exists == 1 for object "monthPickerButton" Button
      • Checking existence of "monthPickerButton" Button
  • Checking existence of "monthPickerButton" Button
  • Find the "monthPickerButton" Button
  • Tear Down

PlantingMindUITests_MoodRecord back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)7.34s
Successtest-method test_01_감정기록_후_마음현황_체크()

Activities:
  • Start Test at 2024-04-19 04:48:08.301
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Open com.eunjoo.planting-mind.PlantingMind
    • Launch com.eunjoo.planting-mind.PlantingMind
      • Terminate com.eunjoo.planting-mind.PlantingMind:19390
      • Setting up automation session
      • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "emptyMoodText" StaticText to exist
    • Checking Expect predicate exists == 1 for object "emptyMoodText" StaticText
      • Checking existence of "emptyMoodText" StaticText
  • Checking existence of "emptyMoodText" StaticText
  • Find the "emptyMoodText" StaticText
  • Waiting 1.0s for "1" Button to exist
    • Checking Expect predicate exists == 1 for object "1" Button
      • Checking existence of "1" Button
  • Checking existence of "1" Button
  • Tap "1" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "1" Button
    • Check for interrupting elements affecting "1" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "cancelButton" Button to exist
    • Checking Expect predicate exists == 1 for object "cancelButton" Button
      • Checking existence of "cancelButton" Button
  • Checking existence of "cancelButton" Button
  • Tap "cancelButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "cancelButton" Button
    • Check for interrupting elements affecting "cancelButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "1" Button to exist
    • Checking Expect predicate exists == 1 for object "1" Button
      • Checking existence of "1" Button
  • Checking existence of "1" Button
  • Tap "1" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "1" Button
    • Check for interrupting elements affecting "1" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodTitleText" StaticText to exist
    • Checking Expect predicate exists == 1 for object "moodTitleText" StaticText
      • Checking existence of "moodTitleText" StaticText
  • Checking existence of "moodTitleText" StaticText
  • Find the "moodTitleText" StaticText
  • Waiting 1.0s for "nice" Button to exist
    • Checking Expect predicate exists == 1 for object "nice" Button
      • Checking existence of "nice" Button
  • Checking existence of "nice" Button
  • Tap "nice" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "nice" Button
    • Check for interrupting elements affecting "nice" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodReasonTextEditor" TextView to exist
    • Checking Expect predicate exists == 1 for object "moodReasonTextEditor" TextView
      • Checking existence of "moodReasonTextEditor" TextView
  • Checking existence of "moodReasonTextEditor" TextView
  • Tap "moodReasonTextEditor" TextView
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "moodReasonTextEditor" TextView
    • Check for interrupting elements affecting "moodReasonTextEditor" TextView
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Type 'test string' into "moodReasonTextEditor" TextView
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "moodReasonTextEditor" TextView
    • Check for interrupting elements affecting "moodReasonTextEditor" TextView
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "saveButton" Button to exist
    • Checking Expect predicate exists == 1 for object "saveButton" Button
      • Checking existence of "saveButton" Button
  • Checking existence of "saveButton" Button
  • Tap "saveButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "saveButton" Button
    • Check for interrupting elements affecting "saveButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodChart" Other to exist
    • Checking Expect predicate exists == 1 for object "moodChart" Other
      • Checking existence of "moodChart" Other
  • Checking existence of "moodChart" Other
  • Find the "Nice" Other
  • Tear Down
Successtest-method test_02_감정기록_수정_취소()

Activities:
  • Start Test at 2024-04-19 04:48:28.340
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "1" Button to exist
    • Checking Expect predicate exists == 1 for object "1" Button
      • Checking existence of "1" Button
  • Checking existence of "1" Button
  • Tap "1" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "1" Button
    • Check for interrupting elements affecting "1" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodTitleText" StaticText to exist
    • Checking Expect predicate exists == 1 for object "moodTitleText" StaticText
      • Checking existence of "moodTitleText" StaticText
  • Checking existence of "moodTitleText" StaticText
  • Find the "moodTitleText" StaticText
  • Waiting 1.0s for "normal" Button to exist
    • Checking Expect predicate exists == 1 for object "normal" Button
      • Checking existence of "normal" Button
  • Checking existence of "normal" Button
  • Tap "normal" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "normal" Button
    • Check for interrupting elements affecting "normal" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "cancelButton" Button to exist
    • Checking Expect predicate exists == 1 for object "cancelButton" Button
      • Checking existence of "cancelButton" Button
  • Checking existence of "cancelButton" Button
  • Tap "cancelButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "cancelButton" Button
    • Check for interrupting elements affecting "cancelButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 2.0s for "Are you sure you want to discard changes?" StaticText to exist
    • Checking Expect predicate exists == 1 for object "Are you sure you want to discard changes?" StaticText
      • Checking existence of "Are you sure you want to discard changes?" StaticText
  • Waiting 1.0s for "confirmButton" Button to exist
    • Checking Expect predicate exists == 1 for object "confirmButton" Button
      • Checking existence of "confirmButton" Button
  • Checking existence of "confirmButton" Button
  • Tap "confirmButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "confirmButton" Button
    • Check for interrupting elements affecting "confirmButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tear Down
Successtest-method test_03_감정기록_수정_저장_후_마음현황_체크()

Activities:
  • Start Test at 2024-04-19 04:48:37.623
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "1" Button to exist
    • Checking Expect predicate exists == 1 for object "1" Button
      • Checking existence of "1" Button
  • Checking existence of "1" Button
  • Tap "1" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "1" Button
    • Check for interrupting elements affecting "1" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodTitleText" StaticText to exist
    • Checking Expect predicate exists == 1 for object "moodTitleText" StaticText
      • Checking existence of "moodTitleText" StaticText
  • Checking existence of "moodTitleText" StaticText
  • Find the "moodTitleText" StaticText
  • Waiting 1.0s for "normal" Button to exist
    • Checking Expect predicate exists == 1 for object "normal" Button
      • Checking existence of "normal" Button
  • Checking existence of "normal" Button
  • Tap "normal" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "normal" Button
    • Check for interrupting elements affecting "normal" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "saveButton" Button to exist
    • Checking Expect predicate exists == 1 for object "saveButton" Button
      • Checking existence of "saveButton" Button
  • Checking existence of "saveButton" Button
  • Tap "saveButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "saveButton" Button
    • Check for interrupting elements affecting "saveButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodChart" Other to exist
    • Checking Expect predicate exists == 1 for object "moodChart" Other
      • Checking existence of "moodChart" Other
  • Checking existence of "moodChart" Other
  • Find the "So-so" Other
  • Tear Down
Successtest-method test_04_감정기록_삭제_후_마음현황_체크()

Activities:
  • Start Test at 2024-04-19 04:48:44.915
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "1" Button to exist
    • Checking Expect predicate exists == 1 for object "1" Button
      • Checking existence of "1" Button
  • Checking existence of "1" Button
  • Tap "1" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "1" Button
    • Check for interrupting elements affecting "1" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "removeButton" Button to exist
    • Checking Expect predicate exists == 1 for object "removeButton" Button
      • Checking existence of "removeButton" Button
  • Checking existence of "removeButton" Button
  • Tap "removeButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "removeButton" Button
    • Check for interrupting elements affecting "removeButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "Deleted record cannot be recovered. Are you sure you want to delete it?" Alert to exist
    • Checking Expect predicate exists == 1 for object "Deleted record cannot be recovered. Are you sure you want to delete it?" Alert
      • Checking existence of "Deleted record cannot be recovered. Are you sure you want to delete it?" Alert
  • Checking existence of "Deleted record cannot be recovered. Are you sure you want to delete it?" Alert
  • Waiting 1.0s for "confirmButton" Button to exist
    • Checking Expect predicate exists == 1 for object "confirmButton" Button
      • Checking existence of "confirmButton" Button
  • Checking existence of "confirmButton" Button
  • Tap "confirmButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "confirmButton" Button
    • Check for interrupting elements affecting "confirmButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "emptyMoodText" StaticText to exist
    • Checking Expect predicate exists == 1 for object "emptyMoodText" StaticText
      • Checking existence of "emptyMoodText" StaticText
  • Checking existence of "emptyMoodText" StaticText
  • Find the "emptyMoodText" StaticText
  • Tear Down

PlantingMindUITests_Settings back

SuccessFailureSkippedExpected Failure⏱️
5 (83%)1 (17%)0 (0%)0 (0%)6.30s
Successtest-method test_01_설정화면_진입()

Activities:
  • Start Test at 2024-04-19 04:48:52.259
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Open com.eunjoo.planting-mind.PlantingMind
    • Launch com.eunjoo.planting-mind.PlantingMind
      • Terminate com.eunjoo.planting-mind.PlantingMind:20312
      • Setting up automation session
      • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "settingsButton" Button to exist
    • Checking Expect predicate exists == 1 for object "settingsButton" Button
      • Checking existence of "settingsButton" Button
  • Checking existence of "settingsButton" Button
  • Tap "settingsButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "settingsButton" Button
    • Check for interrupting elements affecting "settingsButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "Settings" StaticText to exist
    • Checking Expect predicate exists == 1 for object "Settings" StaticText
      • Checking existence of "Settings" StaticText
  • Checking existence of "Settings" StaticText
  • Find the "Settings" StaticText
  • Tear Down
Successtest-method test_02_알림설정_시간조작()

Activities:
  • Start Test at 2024-04-19 04:48:59.191
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "Notification Setting" Button to exist
    • Checking Expect predicate exists == 1 for object "Notification Setting" Button
      • Checking existence of "Notification Setting" Button
  • Checking existence of "Notification Setting" Button
  • Tap "Notification Setting" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "Notification Setting" Button
    • Check for interrupting elements affecting "Notification Setting" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "timePicker" DatePicker to exist
    • Checking Expect predicate exists == 1 for object "timePicker" DatePicker
      • Checking existence of "timePicker" DatePicker
  • Checking existence of "timePicker" DatePicker
  • Tap "timePicker" DatePicker
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "timePicker" DatePicker
    • Check for interrupting elements affecting "timePicker" DatePicker
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Get number of matches for: Descendants matching type PickerWheel
  • Set value of PickerWheel (Element at index 2) to PM
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the PickerWheel (Element at index 2)
    • Check for interrupting elements affecting "AM" PickerWheel
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "PopoverDismissRegion" Button to exist
    • Checking Expect predicate exists == 1 for object "PopoverDismissRegion" Button
      • Checking existence of "PopoverDismissRegion" Button
  • Checking existence of "PopoverDismissRegion" Button
  • Tap "PopoverDismissRegion" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "PopoverDismissRegion" Button
    • Check for interrupting elements affecting "PopoverDismissRegion" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for Button (First Match) to exist
    • Checking Expect predicate exists == 1 for object Button (First Match)
      • Checking existence of Button (First Match)
  • Checking existence of Button (First Match)
  • Tap Button (First Match)
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the Button (First Match)
    • Check for interrupting elements affecting "Settings" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "Notification Setting" Button to exist
    • Checking Expect predicate exists == 1 for object "Notification Setting" Button
      • Checking existence of "Notification Setting" Button
  • Checking existence of "Notification Setting" Button
  • Tap "Notification Setting" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "Notification Setting" Button
    • Check for interrupting elements affecting "Notification Setting" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "timePicker" DatePicker to exist
    • Checking Expect predicate exists == 1 for object "timePicker" DatePicker
      • Checking existence of "timePicker" DatePicker
  • Checking existence of "timePicker" DatePicker
  • Tap "timePicker" DatePicker
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "timePicker" DatePicker
    • Check for interrupting elements affecting "timePicker" DatePicker
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Get number of matches for: Descendants matching type PickerWheel
  • Requesting snapshot of accessibility hierarchy for app with pid 22319
  • Find: Descendants matching type Picker
  • Find: Descendants matching type PickerWheel
  • Find: Element at index 2
  • Requesting snapshot of accessibility hierarchy for app with pid 22319
  • Find: Descendants matching type Picker
  • Find: Descendants matching type PickerWheel
  • Find: Element at index 2
  • Requesting snapshot of accessibility hierarchy for app with pid 22319
  • Find: Descendants matching type Picker
  • Find: Descendants matching type PickerWheel
  • Requesting snapshot of accessibility hierarchy for app with pid 22319
  • Find: Descendants matching type Picker
  • Requesting snapshot of accessibility hierarchy for app with pid 22319
  • Waiting 1.0s for "PopoverDismissRegion" Button to exist
    • Checking Expect predicate exists == 1 for object "PopoverDismissRegion" Button
      • Checking existence of "PopoverDismissRegion" Button
  • Checking existence of "PopoverDismissRegion" Button
  • Tap "PopoverDismissRegion" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "PopoverDismissRegion" Button
    • Check for interrupting elements affecting "PopoverDismissRegion" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for Button (First Match) to exist
    • Checking Expect predicate exists == 1 for object Button (First Match)
      • Checking existence of Button (First Match)
  • Checking existence of Button (First Match)
  • Tap Button (First Match)
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the Button (First Match)
    • Check for interrupting elements affecting "Settings" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tear Down
Successtest-method test_03_개인정보처리방침_사파리이동()

Activities:
  • Start Test at 2024-04-19 04:49:13.689
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "Privacy Policy" Button to exist
    • Checking Expect predicate exists == 1 for object "Privacy Policy" Button
      • Checking existence of "Privacy Policy" Button
  • Checking existence of "Privacy Policy" Button
  • Tap "Privacy Policy" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "Privacy Policy" Button
    • Check for interrupting elements affecting "Privacy Policy" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Open com.eunjoo.planting-mind.PlantingMind
    • Activate com.eunjoo.planting-mind.PlantingMind
      • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tear Down
Successtest-method test_04_기록백업_기록없음_alert()

Activities:
  • Start Test at 2024-04-19 04:49:21.654
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for "Export Records" Button to exist
    • Checking Expect predicate exists == 1 for object "Export Records" Button
      • Checking existence of "Export Records" Button
  • Checking existence of "Export Records" Button
  • Tap "Export Records" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "Export Records" Button
    • Check for interrupting elements affecting "Export Records" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "No records to export." Alert to exist
    • Checking Expect predicate exists == 1 for object "No records to export." Alert
      • Checking existence of "No records to export." Alert
  • Checking existence of "No records to export." Alert
  • Waiting 1.0s for "OK" Button to exist
    • Checking Expect predicate exists == 1 for object "OK" Button
      • Checking existence of "OK" Button
  • Checking existence of "OK" Button
  • Tap "OK" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "OK" Button
    • Check for interrupting elements affecting "OK" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tear Down
Successtest-method test_05_기록저장후_기록백업()

Activities:
  • Start Test at 2024-04-19 04:49:26.344
  • Some attachments were deleted because they were configured to be removed on success.
  • Set Up
  • Waiting 1.0s for Button (First Match) to exist
    • Checking Expect predicate exists == 1 for object Button (First Match)
      • Checking existence of Button (First Match)
  • Checking existence of Button (First Match)
  • Tap Button (First Match)
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the Button (First Match)
    • Check for interrupting elements affecting "Close" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "1" Button to exist
    • Checking Expect predicate exists == 1 for object "1" Button
      • Checking existence of "1" Button
  • Checking existence of "1" Button
  • Tap "1" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "1" Button
    • Check for interrupting elements affecting "1" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "moodTitleText" StaticText to exist
    • Checking Expect predicate exists == 1 for object "moodTitleText" StaticText
      • Checking existence of "moodTitleText" StaticText
  • Checking existence of "moodTitleText" StaticText
  • Find the "moodTitleText" StaticText
  • Waiting 1.0s for "saveButton" Button to exist
    • Checking Expect predicate exists == 1 for object "saveButton" Button
      • Checking existence of "saveButton" Button
  • Checking existence of "saveButton" Button
  • Tap "saveButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "saveButton" Button
    • Check for interrupting elements affecting "saveButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "settingsButton" Button to exist
    • Checking Expect predicate exists == 1 for object "settingsButton" Button
      • Checking existence of "settingsButton" Button
  • Checking existence of "settingsButton" Button
  • Tap "settingsButton" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "settingsButton" Button
    • Check for interrupting elements affecting "settingsButton" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "Export Records" Button to exist
    • Checking Expect predicate exists == 1 for object "Export Records" Button
      • Checking existence of "Export Records" Button
  • Checking existence of "Export Records" Button
  • Tap "Export Records" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "Export Records" Button
    • Check for interrupting elements affecting "Export Records" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Checking existence of "DOC.itemCollectionMenuButton.Ellipsis" Button
  • Get number of matches for: Descendants matching type Button
  • Waiting 1.0s for Button (Element at index 2) to exist
    • Checking Expect predicate exists == 1 for object Button (Element at index 2)
      • Checking existence of Button (Element at index 2)
  • Checking existence of Button (Element at index 2)
  • Tap Button (Element at index 2)
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the Button (Element at index 2)
    • Check for interrupting elements affecting "Move" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Waiting 1.0s for "Export Complete" Alert to exist
    • Checking Expect predicate exists == 1 for object "Export Complete" Alert
      • Checking existence of "Export Complete" Alert
  • Checking existence of "Export Complete" Alert
  • Waiting 1.0s for "OK" Button to exist
    • Checking Expect predicate exists == 1 for object "OK" Button
      • Checking existence of "OK" Button
  • Checking existence of "OK" Button
  • Tap "OK" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "OK" Button
    • Check for interrupting elements affecting "OK" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Tear Down
Failuretest-method test_06_기록삭제_후_복원()back

Activities:
  • Start Test at 2024-04-19 04:49:42.900
  • Set Up
  • Waiting 1.0s for "Import Records" Button to exist
    • Checking Expect predicate exists == 1 for object "Import Records" Button
      • Checking existence of "Import Records" Button
  • Checking existence of "Import Records" Button
  • Tap "Import Records" Button
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
    • Find the "Import Records" Button
    • Check for interrupting elements affecting "Import Records" Button
    • Synthesize event
    • Wait for com.eunjoo.planting-mind.PlantingMind to idle
  • Checking existence of "File View" CollectionView
  • Find the "File View" CollectionView
  • Waiting 1.0s for "Icons" Button to exist
    • Checking Expect predicate exists == 1 for object "Icons" Button
      • Checking existence of "Icons" Button
      • Capturing element debug description
  • Checking existence of "Icons" Button
  • Capturing debug information
    • Requesting snapshot of accessibility hierarchy for app with pid 22319
  • Tear Down

Annotations

Check failure on line 13 in PlantingMindUITests/XCTestsExtension.swift

See this annotation in the file changed.

@github-actions github-actions / Xcode test results

Assertion Failure

XCTAssertTrue failed