| import time | |
| from playwright.sync_api import Page | |
| from lib.audio import play_audio, get_length | |
| def test_has_title(page: Page, context): | |
| context.grant_permissions(permissions=['microphone']) | |
| page.goto("http://127.0.0.1:9191/") | |
| page.get_by_text("English -> Chinese").click() | |
| page.get_by_text("Chinese -> English").click() | |
| page.get_by_role("switch").click() | |
| audio = "/Users/jeqin/work/code/TestTranslator/test_audios/Chinese-economics-part1.wav" | |
| play_audio(audio) | |
| audio_length = get_length(audio) | |
| interval = 0.1 | |
| last_src, last_dst = None, None | |
| for i in range(int(audio_length//interval)+1): | |
| print(i) | |
| current_node = page.locator(".trans-list").locator(".current_node") | |
| src_lang = current_node.locator(".trans-src-lang").inner_text() | |
| dst_lang = current_node.locator(".trans-dst-lang").inner_text() | |
| time.sleep(interval) | |
| if src_lang == last_src and dst_lang == last_dst: | |
| continue | |
| print("src lang:", src_lang) | |
| print("dst lang:", dst_lang) | |
| last_src, last_dst = src_lang, dst_lang | |
| all_texts = page.locator(".trans-list").locator(".trans-src-lang").all_inner_texts() | |
| print("all_texts:", all_texts) | |
| print("run_finished") | |