package org.expressolivre.cte.email; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import org.apache.commons.lang.StringUtils; import org.expressolivre.cte.common.BaseEmailTestCase; import org.expressolivre.cte.common.Config; import org.expressolivre.cte.pages.email.ExpressoMailPreferencesPage; import org.testng.annotations.AfterClass; import org.testng.annotations.Test; /** * @author L.F.Estivalet (Serpro) * * Created on Feb 3, 2011 at 11:07:04 AM * */ public class ExpressoMailPreferencesTestCase extends BaseEmailTestCase { ExpressoMailPreferencesPage prefs; @Test public void gotoEmailPreferencesPage() { openPreferencesPage(); prefs = openEmailPreferencesPage(); } @Test public void test() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { Method[] methods = ExpressoMailPreferencesPage.class.getMethods(); for (Method method : methods) { if (method.getName().startsWith("set") && !method.getName().equals("setComboValue") && !method.getName().equals("setSavePreferences")) { String name = StringUtils.uncapitalize(method.getName() .substring(3)); System.out.println(name); String[] values = Config.getInstance().getEmailPreference(name) .split(","); System.out.println(name + " " + values[0]); method.invoke(prefs, values[0]); } } } @AfterClass public void savePreferences() { prefs.savePreferences(); } }