From 1800d8fae7bbd714c701b330facbbe7339274907 Mon Sep 17 00:00:00 2001 From: Nikolas Date: Thu, 17 Oct 2024 15:24:10 -0700 Subject: [PATCH] update to take screenshots --- cyberpunk2077/cyberpunk2077.py | 67 +++++++++++++------ .../shadowofthetombraider.py | 5 +- 2 files changed, 48 insertions(+), 24 deletions(-) diff --git a/cyberpunk2077/cyberpunk2077.py b/cyberpunk2077/cyberpunk2077.py index 2652bd6..cd6e497 100644 --- a/cyberpunk2077/cyberpunk2077.py +++ b/cyberpunk2077/cyberpunk2077.py @@ -18,7 +18,8 @@ from harness_utils.output import ( DEFAULT_LOGGING_FORMAT, DEFAULT_DATE_FORMAT) from harness_utils.process import terminate_processes -from harness_utils.steam import exec_steam_game +from harness_utils.steam import exec_steam_game, get_build_id +from harness_utils.artifacts import ArtifactManager, ArtifactType STEAM_GAME_ID = 1091500 SCRIPT_DIRECTORY = os.path.dirname(os.path.realpath(__file__)) @@ -31,8 +32,8 @@ def start_game(): return exec_steam_game(STEAM_GAME_ID, game_params=["--launcher-skip", "-skipStartScreen"]) -def navigate_main_menu() -> None: - """Simulate inputs to navigate the main menu""" +def navigate_to_settings(): + """navigate from main menu to settings menu""" logging.info("Navigating main menu") result = kerasService.look_for_word("continue", attempts=10) if not result: @@ -41,15 +42,6 @@ def navigate_main_menu() -> None: time.sleep(0.5) user.press("enter") time.sleep(0.5) - user.press("3") - time.sleep(0.5) - user.press("3") - time.sleep(0.5) - user.press("3") - time.sleep(0.5) - user.press("b") - time.sleep(0.5) - user.press("enter") else: user.press("left") time.sleep(0.5) @@ -57,20 +49,49 @@ def navigate_main_menu() -> None: time.sleep(0.5) user.press("enter") time.sleep(0.5) - user.press("3") + + +def navigate_settings(am: ArtifactManager) -> None: + """Simulate inputs to navigate the main menu""" + navigate_to_settings() + # entered settings + user.press("3") + time.sleep(0.5) + user.press("3") + time.sleep(0.5) + user.press("3") + time.sleep(0.5) + + # now on graphics tab + am.take_screenshot("graphics_1.png", ArtifactType.CONFIG_IMAGE, "graphics menu 1") + + for _ in range(7): + user.press("down") time.sleep(0.5) - user.press("3") + + am.take_screenshot("graphics_2.png", ArtifactType.CONFIG_IMAGE, "graphics menu 2") + + for _ in range(11): + user.press("down") time.sleep(0.5) - user.press("3") - time.sleep(0.5) - user.press("b") - time.sleep(0.5) - user.press("enter") + + am.take_screenshot("graphics_3.png", ArtifactType.CONFIG_IMAGE, "graphics menu 3") + + user.press("3") + time.sleep(0.5) + + # now on video tab + am.take_screenshot("video.png", ArtifactType.CONFIG_IMAGE, "video menu") + + user.press("b") + time.sleep(0.5) + user.press("enter") def run_benchmark(): """Start the benchmark""" copy_no_intro_mod() + am = ArtifactManager(LOG_DIRECTORY) # Start game via Steam and enter fullscreen mode setup_start_time = time.time() @@ -83,7 +104,7 @@ def run_benchmark(): logging.info("Did not see settings menu option.") sys.exit(1) - navigate_main_menu() + navigate_settings(am) # Start the benchmark! setup_end_time = time.time() @@ -104,11 +125,12 @@ def run_benchmark(): logging.info("Did not see results screen. Mark as DNF.") sys.exit(1) + am.take_screenshot("results.png", ArtifactType.RESULTS_IMAGE, "results of benchmark") + test_end_time = time.time() - 2 time.sleep(2) elapsed_test_time = round((test_end_time - test_start_time), 2) logging.info("Benchmark took %f seconds", elapsed_test_time) - gui.screenshot(os.path.join(LOG_DIRECTORY, "results.png")) time.sleep(3) terminate_processes(PROCESS_NAME) return test_start_time, test_end_time @@ -134,7 +156,8 @@ try: report = { "resolution": f"{resolution}", "start_time": seconds_to_milliseconds(start_time), - "end_time": seconds_to_milliseconds(end_time) + "end_time": seconds_to_milliseconds(end_time), + "version": get_build_id(STEAM_GAME_ID) } write_report_json(LOG_DIRECTORY, "report.json", report) diff --git a/shadowofthetombraider/shadowofthetombraider.py b/shadowofthetombraider/shadowofthetombraider.py index 4672bc4..d46cba9 100644 --- a/shadowofthetombraider/shadowofthetombraider.py +++ b/shadowofthetombraider/shadowofthetombraider.py @@ -19,7 +19,7 @@ from harness_utils.output import ( DEFAULT_DATE_FORMAT) from harness_utils.process import terminate_processes from harness_utils.keras_service import KerasService, ScreenShotDivideMethod, ScreenShotQuadrant, ScreenSplitConfig -from harness_utils.steam import exec_steam_game +from harness_utils.steam import exec_steam_game, get_build_id from harness_utils.artifacts import ArtifactManager, ArtifactType STEAM_GAME_ID = 750920 @@ -142,7 +142,8 @@ def run_benchmark(keras_service, am): report = { "resolution": format_resolution(width, height), "start_time": seconds_to_milliseconds(test_start_time), - "end_time": seconds_to_milliseconds(test_end_time) + "end_time": seconds_to_milliseconds(test_end_time), + "version": get_build_id(STEAM_GAME_ID) } am.create_manifest()