Program: 69993
Project: 69993
Buggy source:
@Test @RunAsClient public void checkSettings() throws IOException, URISyntaxException {
  List<UserVO> userVO=functionalVOUtil.createTestUsers(deploymentUrl,1);
  Assert.assertTrue(functionalUtil.login(browser));
  Assert.assertTrue(functionalHomeSiteUtil.resetSettings(browser));
  functionalHomeSiteUtil.selectLanguage(browser,FunctionalHomeSiteUtil.GERMAN_LANGUAGE_VALUE);
  functionalHomeSiteUtil.disableResume(browser);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser));
  functionalHomeSiteUtil.beginEditingPortal(browser);
  functionalHomeSiteUtil.deactivatePortlet(browser,functionalHomeSiteUtil.getPortletEffCss());
  functionalHomeSiteUtil.activatePortlet(browser,functionalHomeSiteUtil.getPortletNotesCss());
  functionalHomeSiteUtil.movePortlet(browser,functionalHomeSiteUtil.getPortletDykCss(),FunctionalHomeSiteUtil.Direction.UP);
  functionalHomeSiteUtil.movePortlet(browser,functionalHomeSiteUtil.getPortletNotiCss(),FunctionalHomeSiteUtil.Direction.LEFT);
  functionalHomeSiteUtil.endEditingPortal(browser);
  functionalHomeSiteUtil.openPageByNavigation(browser,FunctionalHomeSiteUtil.HomePage.SETTINGS);
  functionalUtil.openContentTab(browser,SettingsTab.SYSTEM.ordinal());
  functionalHomeSiteUtil.selectLanguage(browser,"String_Node_Str");
  functionalHomeSiteUtil.enableBack(browser);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser));
  HashMap<String,String> pages=new HashMap<String,String>();
  Iterator iter=pages.keySet().iterator();
  while (iter.hasNext()) {
    Map.Entry pairs=(Map.Entry)iter.next();
    browser.click((String)pairs.getKey());
  }
  String[] keys=(String[])pages.entrySet().toArray();
  for (int i=pages.size() - 1; i >= 0; i--) {
    browser.goBack();
    Assert.assertTrue(browser.isElementPresent(pages.get(keys[i])));
  }
  UserVO current=userVO.get(0);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser,current.getLogin(),current.getPassword(),true));
  functionalUtil.openSite(browser,FunctionalUtil.OlatSite.HOME);
  functionalHomeSiteUtil.openPageByNavigation(browser,FunctionalHomeSiteUtil.HomePage.SETTINGS);
  String newPassword="String_Node_Str" + 0 + "String_Node_Str"+ UUID.randomUUID().toString();
  functionalUtil.openContentTab(browser,SettingsTab.PASSWORD.ordinal());
  functionalUtil.typePassword(browser,functionalHomeSiteUtil.getOldPasswordCss(),functionalUtil.getPassword());
  functionalUtil.typePassword(browser,functionalHomeSiteUtil.getNewPasswordCss(),newPassword);
  functionalUtil.typePassword(browser,functionalHomeSiteUtil.getConfirmPasswordCss(),newPassword);
  functionalUtil.saveForm(browser,0);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser,current.getLogin(),newPassword,true));
  functionalHomeSiteUtil.endEditingPortal(browser);
}

Fixed version (ground truth):
@Test @RunAsClient public void checkSettings() throws IOException, URISyntaxException, InterruptedException {
  List<UserVO> userVO=functionalVOUtil.createTestUsers(deploymentUrl,1);
  Assert.assertTrue(functionalUtil.login(browser));
  Thread.sleep(5000);
  Assert.assertTrue(functionalHomeSiteUtil.resetSettings(browser));
  Thread.sleep(5000);
  functionalHomeSiteUtil.selectLanguage(browser,FunctionalHomeSiteUtil.GERMAN_LANGUAGE_VALUE);
  Thread.sleep(10000);
  functionalHomeSiteUtil.disableResume(browser);
  Assert.assertTrue(functionalUtil.logout(browser));
  Thread.sleep(5000);
  Assert.assertTrue(functionalUtil.login(browser));
  functionalHomeSiteUtil.beginEditingPortal(browser);
  Thread.sleep(5000);
  functionalHomeSiteUtil.deactivatePortlet(browser,functionalHomeSiteUtil.getPortletEffCss());
  functionalHomeSiteUtil.activatePortlet(browser,functionalHomeSiteUtil.getPortletNotesCss());
  functionalHomeSiteUtil.movePortlet(browser,functionalHomeSiteUtil.getPortletDykCss(),FunctionalHomeSiteUtil.Direction.UP);
  functionalHomeSiteUtil.movePortlet(browser,functionalHomeSiteUtil.getPortletNotiCss(),FunctionalHomeSiteUtil.Direction.LEFT);
  functionalHomeSiteUtil.endEditingPortal(browser);
  functionalHomeSiteUtil.openActionByMenuTree(browser,FunctionalHomeSiteUtil.HomeSiteAction.SETTINGS);
  functionalUtil.openContentTab(browser,SettingsTab.SYSTEM.ordinal());
  functionalHomeSiteUtil.selectLanguage(browser,FunctionalHomeSiteUtil.ENGLISH_LANGUAGE_VALUE);
  functionalHomeSiteUtil.enableBack(browser);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser));
  HashMap<String,String> pages=new HashMap<String,String>();
  Iterator iter=pages.keySet().iterator();
  while (iter.hasNext()) {
    Map.Entry pairs=(Map.Entry)iter.next();
    browser.click((String)pairs.getKey());
  }
  String[] keys=(String[])pages.entrySet().toArray();
  for (int i=pages.size() - 1; i >= 0; i--) {
    browser.goBack();
    Assert.assertTrue(browser.isElementPresent(pages.get(keys[i])));
  }
  UserVO current=userVO.get(0);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser,current.getLogin(),current.getPassword(),true));
  functionalUtil.openSite(browser,FunctionalUtil.OlatSite.HOME);
  functionalHomeSiteUtil.openActionByMenuTree(browser,FunctionalHomeSiteUtil.HomeSiteAction.SETTINGS);
  String newPassword="String_Node_Str" + 0 + "String_Node_Str"+ UUID.randomUUID().toString();
  functionalUtil.openContentTab(browser,SettingsTab.PASSWORD.ordinal());
  functionalUtil.typePassword(browser,functionalHomeSiteUtil.getOldPasswordCss(),functionalUtil.getPassword());
  functionalUtil.typePassword(browser,functionalHomeSiteUtil.getNewPasswordCss(),newPassword);
  functionalUtil.typePassword(browser,functionalHomeSiteUtil.getConfirmPasswordCss(),newPassword);
  functionalUtil.saveForm(browser,0);
  Assert.assertTrue(functionalUtil.logout(browser));
  Assert.assertTrue(functionalUtil.login(browser,current.getLogin(),newPassword,true));
  functionalHomeSiteUtil.endEditingPortal(browser);
}