public String create_named_preference_screenshot(String prefix) { try { @SuppressWarnings("unchecked") org.eclipse.jubula.toolkit.concrete.components.TextComponent txt_comp = SwtComponents.createTextComponent(OM.Preference_title_txt); Result<Object> res = m_aut.execute(txt_comp.readValue(), null); String name = res.getReturnValue(); String pref_name = "preferences/" + prefix + "_" + name + ".png"; // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ AUT_run.takeScreenshotActiveWindow(m_aut, m_app, pref_name); return name; } catch (ActionException | ComponentNotFoundException e) { Utils.dbg_msg( "create_named_preference_screenshot " + prefix + " unable to get text: " + e.getMessage()); // $NON-NLS-1$ AUT_run.takeScreenshotActiveWindow( m_aut, m_app, "preferences/page_" + prefix + ".png"); // $NON-NLS-1$ //$NON-NLS-2$ return prefix; } }
/** test visiting all preferencePages */ @SuppressWarnings("unchecked") public void visit_all_preferencePages() throws Exception { String new_pos = "first_time"; // $NON-NLS-1$ //$NON-NLS-2$ int nr_preferencePages = 0; @SuppressWarnings("unused") ComponentIdentifier<Tree> tree = OM.Preferences_ItemChoice_tre; // $NON-NLS-1$ ComponentIdentifier<Button> ok_btn = OM.Preferences_OkButton_grc; // $NON-NLS-1$ ComponentIdentifier<Button> apply_btn = OM.Preferences_ApplyButton_grc; // $NON-NLS-1$ ComponentIdentifier<Button> cancel_btn = OM.Preferences_Cancel_btn; // $NON-NLS-1$ ComponentIdentifier<Button> reset_btn = OM.ResetPerspektive_OkButton_grc; // $NON-NLS-1$ Assert.assertNotNull("Preferences_OkButton_grc may not be null", ok_btn); Assert.assertNotNull("Preferences_ApplyButton_grc may not be null", apply_btn); Assert.assertNotNull("Preferences_Cancel_btn may not be null", cancel_btn); Assert.assertNotNull("ResetPerspektive_OkButton_grc", reset_btn); try { int major = 1; while (true) { int minor = 1; new_pos = Integer.toString(major); // $NON-NLS-1$ if (!gotoPreferencPage(new_pos)) { clickComponent(ok_btn); break; } nr_preferencePages++; create_named_preference_screenshot(new_pos); clickComponent(ok_btn); while (true) { new_pos = Integer.toString(major) + "/" + Integer.toString(minor); // $NON-NLS-1$ if (!gotoPreferencPage(new_pos)) { clickComponent(ok_btn); break; } nr_preferencePages++; create_named_preference_screenshot(new_pos.replace("/", "_")); try { clickComponent(ok_btn); // the ok_btn is not present in the Security/Secure Storage!! // therefore we must catch also the ComponentNotFoundException } catch (ActionException | ComponentNotFoundException e) { Utils.dbg_msg( "visit_all_preferencePages. must cancel. Got exception: " + e.getMessage()); AUT_run.takeScreenshotActiveWindow( m_aut, m_app, "preferences/cancel_" + new_pos.replace("/", "_") + ".png"); //$NON-NLS-1$ //$NON-NLS-2$ clickComponent(ok_btn); } minor++; } major++; } } catch (ComponentNotFoundException | CommunicationException | ConfigurationException | CheckFailedException | ActionException | AssertException e) { Utils.dbg_msg("Got exception: " + e.getMessage()); AUT_run.takeScreenshotActiveWindow( m_aut, m_app, "preferences/" + new_pos.replace("/", "_") + "_exception.png"); //$NON-NLS-1$ //$NON-NLS-2$ e.printStackTrace(Utils.getWriter()); } finally { Utils.dbg_msg("visit_all_preferencePages done. nr_preferencePages is " + nr_preferencePages); } AUT_run.takeScreenshotActiveWindow( m_aut, m_app, "preferences/last_page_" + new_pos.replace("/", "_") + ".png"); // $NON-NLS-1$ //$NON-NLS-2$ Assert.assertTrue("Must visit at least 10 preferences", nr_preferencePages > 10); }