Program: 69475
Project: 69475
Buggy source:
/** 
 * An author create a group, set the visibility to true for owners and participants, enable the tools and add 2 users to it. The 2 users joins the chat. All three send some messages and read them.
 * @param loginPage
 * @param kanuBrowser
 * @param ryomouBrowser
 * @throws IOException
 * @throws URISyntaxException
 */
@Test @RunAsClient public void groupChat(@InitialPage LoginPage loginPage,@Drone @Participant WebDriver kanuBrowser,@Drone @User WebDriver ryomouBrowser) throws IOException, URISyntaxException {
  screenshotTestRule.setBrowsers(browser,kanuBrowser,ryomouBrowser);
  UserVO author=new UserRestClient(deploymentUrl).createAuthor();
  UserVO kanu=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  UserVO ryomou=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  loginPage.loginAs(author.getLogin(),author.getPassword()).resume();
  String groupName="String_Node_Str" + UUID.randomUUID();
  GroupPage group=navBar.openGroups(browser).createGroup(groupName,"String_Node_Str");
  group.openAdministration().openAdminTools().enableTools().openAdminMembers().setVisibility(true,true,false);
  group.openAdminMembers().addMember().searchMember(kanu,true).next().next().next().finish();
  group.addMember().searchMember(ryomou,true).next().next().next().finish();
  LoginPage kanuLoginPage=LoginPage.getLoginPage(kanuBrowser,deploymentUrl);
  kanuLoginPage.loginAs(kanu.getLogin(),kanu.getPassword()).resume();
  NavigationPage kanuNavBar=new NavigationPage(kanuBrowser);
  GroupPage kanuGroup=kanuNavBar.openGroups(kanuBrowser).selectGroup(groupName);
  LoginPage ryomouLoginPage=LoginPage.getLoginPage(ryomouBrowser,deploymentUrl);
  ryomouLoginPage.loginAs(ryomou.getLogin(),ryomou.getPassword()).resume();
  NavigationPage ryomouNavBar=new NavigationPage(ryomouBrowser);
  IMPage ryomouIM=ryomouNavBar.openGroups(ryomouBrowser).selectGroup(groupName).openChat().openGroupChat();
  String msg1="String_Node_Str" + UUID.randomUUID();
  IMPage authorIM=group.openChat().openGroupChat().sendMessage(msg1).assertOnMessage(msg1);
  String msg2="String_Node_Str" + UUID.randomUUID();
  IMPage kanuIM=kanuGroup.openChat().openGroupChat().assertOnMessage(msg1).sendMessage(msg2);
  String msg3="String_Node_Str" + UUID.randomUUID();
  ryomouIM.sendMessage(msg3).assertOnMessage(msg1).assertOnMessage(msg2);
  kanuIM.assertOnMessage(msg3);
  authorIM.assertOnMessage(msg2).assertOnMessage(msg3);
}

Fixed version (ground truth):
/** 
 * An author create a group, set the visibility to true for owners and participants, enable the tools and add 2 users to it. The 2 users joins the chat. All three send some messages and read them.
 * @param loginPage
 * @param kanuBrowser
 * @param ryomouBrowser
 * @throws IOException
 * @throws URISyntaxException
 */
@Test @RunAsClient public void groupChat(@InitialPage LoginPage loginPage,@Drone @Participant WebDriver kanuBrowser,@Drone @User WebDriver ryomouBrowser) throws IOException, URISyntaxException {
  UserVO author=new UserRestClient(deploymentUrl).createAuthor();
  UserVO kanu=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  UserVO ryomou=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  loginPage.loginAs(author.getLogin(),author.getPassword()).resume();
  String groupName="String_Node_Str" + UUID.randomUUID();
  GroupPage group=navBar.openGroups(browser).createGroup(groupName,"String_Node_Str");
  group.openAdministration().openAdminTools().enableTools().openAdminMembers().setVisibility(true,true,false);
  group.openAdminMembers().addMember().searchMember(kanu,true).next().next().next().finish();
  group.addMember().searchMember(ryomou,true).next().next().next().finish();
  LoginPage kanuLoginPage=LoginPage.getLoginPage(kanuBrowser,deploymentUrl);
  kanuLoginPage.loginAs(kanu.getLogin(),kanu.getPassword()).resume();
  NavigationPage kanuNavBar=new NavigationPage(kanuBrowser);
  GroupPage kanuGroup=kanuNavBar.openGroups(kanuBrowser).selectGroup(groupName);
  LoginPage ryomouLoginPage=LoginPage.getLoginPage(ryomouBrowser,deploymentUrl);
  ryomouLoginPage.loginAs(ryomou.getLogin(),ryomou.getPassword()).resume();
  NavigationPage ryomouNavBar=new NavigationPage(ryomouBrowser);
  IMPage ryomouIM=ryomouNavBar.openGroups(ryomouBrowser).selectGroup(groupName).openChat().openGroupChat();
  String msg1="String_Node_Str" + UUID.randomUUID();
  IMPage authorIM=group.openChat().openGroupChat().sendMessage(msg1).assertOnMessage(msg1);
  String msg2="String_Node_Str" + UUID.randomUUID();
  IMPage kanuIM=kanuGroup.openChat().openGroupChat().assertOnMessage(msg1).sendMessage(msg2);
  String msg3="String_Node_Str" + UUID.randomUUID();
  ryomouIM.sendMessage(msg3).assertOnMessage(msg1).assertOnMessage(msg2);
  kanuIM.assertOnMessage(msg3);
  authorIM.assertOnMessage(msg2).assertOnMessage(msg3);
}