set_flex_helper(helper) # Opening ############# helper.Click("Lexicon.png", "Couldn't find 'Lexicon' button") LEFT_SIDEBAR.Click("LexiconEdit.png", "Couldn't find 'Lexicon Edit' button") # Goal ############# # Not doing the drag-drop directly, so if it fails we can # pinpoint what wasn't found glosses = MID_TOOLBAR.Find("3losses.png", "Couldn't find 'Glosses' column header") target = MID_TOOLBAR.Find("lLexemeJorm_.png", "'Headword' and 'Lexeme Form' headers not where expected") dragDrop(glosses, target) # Check that it's in the new position helper.Find(Pattern("hexemeformHe.png").similar(0.80), "'Glosses' column not in new position") # Closing ############## helper.write_success() # Drag it back to previous position glosses = MID_TOOLBAR.Find("3losses.png", "Couldn't find 'Glosses' column header", restart=True) target = MID_TOOLBAR.Find("LexemeFormIG.png", "'Lexeme Form' and 'Grammatical Info' headers not where expected", restart=True) dragDrop(glosses, target)
def run_test(language_idx): setAutoWaitTimeout(1) helper = TestHelper("test_" + languages[language_idx].lower() + "_localization") set_flex_helper(helper) # Opening: change UI to the language we want ################ # Open Options popup wait(2) type("1", KeyModifier.ALT) for i in range(7): type(Key.RIGHT) for i in range(5): type(Key.DOWN) helper.Type(Key.ENTER) # Get to language drop-down menu type(Key.TAB) type(Key.TAB) # Get to the right language for i in range(len(languages)): type(Key.UP) for i in range(language_idx): type(Key.DOWN) type(Key.ENTER) wait(10) # GOAL ################ for k in range(len(areas)): area = areas[k] # First see if there is any English (note: cognates may be # flagged as not translated) if language_idx != 2: # Check if whole area matches if area_regions[k].exists(Pattern(english_reference_images[k]). similar(0.99)): helper.write_fail("Nothing translated in " + area) # If everything's in English, no need for more tests continue # Look for any English words if see_if_things_are_translated: words = english_words[k] for word in words: if area_regions[k].exists(word): helper.write_fail("'" + word + "' not translated in " + area) # Look for any placeholder squares if area_regions[k].exists(square_types[k]): helper.write_fail("Unable to render (placeholder boxes found) in " + area) # Closing: Go back to English UI ############## # Open Options popup type("1", KeyModifier.ALT) for i in range(7): type(Key.RIGHT) for i in range(5): type(Key.DOWN) helper.Type(Key.ENTER) # Get to language drop-down menu type(Key.TAB) type(Key.TAB) # Get to the top of the list, then go down to English for i in range(len(languages)): type(Key.UP) for i in range(languages.index("English")): type(Key.DOWN) type(Key.ENTER) wait(40) helper.write_success()