This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  afe94409ed37640745584d250a1586bb483af96f (commit)
      from  fda660a03ce78ad8fce4ce542c16f5ae5fea4f2d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=afe94409ed37640745584d250a1586bb483af96f

commit afe94409ed37640745584d250a1586bb483af96f
Author: Franck Villaume <[email protected]>
Date:   Sun Jan 20 17:21:41 2019 +0100

    fix isElementPresent. more clickAndWait and select

diff --git a/tests/func/10_Site/loginTest.php b/tests/func/10_Site/loginTest.php
index fd410fc..c72422f 100644
--- a/tests/func/10_Site/loginTest.php
+++ b/tests/func/10_Site/loginTest.php
@@ -86,7 +86,7 @@ class LoginProcess extends FForge_SeleniumTestCase
                $this->assertTrue($this->isTextPresent("Log In"));
                $this->type("form_loginname", FORGE_ADMIN_USERNAME);
                $this->type("form_pw", "");
-               $this->click("login");
+               $this->clickAndWait("login");
                sleep(1);
                $this->assertTrue($this->isTextPresent("Login"));
                $this->assertFalse($this->isTextPresent("Forge Admin"));
diff --git a/tests/func/10_Site/projectsTest.php 
b/tests/func/10_Site/projectsTest.php
index 9dcbb6d..2fb030b 100644
--- a/tests/func/10_Site/projectsTest.php
+++ b/tests/func/10_Site/projectsTest.php
@@ -183,7 +183,7 @@ class CreateProject extends FForge_SeleniumTestCase
                $this->type("purpose", "This is a simple description for 
ProjectA");
                $this->type("//textarea[@name='description']", "This is the 
public description for ProjectA.");
                $this->type("unix_name", "projecta");
-               
$this->select($this->byXpath("//select[@name='built_from_template']"))->selectOptionByLabel("Start
 from empty project");
+               
$this->select($this->byXPath("//select[@name='built_from_template']"))->selectOptionByLabel("Start
 from empty project");
                $this->clickAndWait("//input[@name='scm' and @value='scmsvn']");
                $this->clickAndWait("submit");
                $this->waitForPageToLoad("30000");
@@ -212,7 +212,7 @@ class CreateProject extends FForge_SeleniumTestCase
 
                $this->url(ROOT."/admin/");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Forge
 administrators") ;
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Forge
 administrators") ;
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'globalroleedit.php')]//input[@name='form_unix_name']",
 "toto") ;
diff --git a/tests/func/20_Docs/createDocURLTest.php 
b/tests/func/20_Docs/createDocURLTest.php
index 155d13d..de862cd 100644
--- a/tests/func/20_Docs/createDocURLTest.php
+++ b/tests/func/20_Docs/createDocURLTest.php
@@ -62,7 +62,7 @@ class CreateDocURL extends FForge_SeleniumTestCase {
                $this->type("groupname", "docdirectory");
                $this->clickAndWait("submitaddsubgroup");
                $this->clickAndWait("addItemDocmanMenu");
-               $this->click("id=tabs-new-document");
+               $this->clickAndWait("id=tabs-new-document");
                $this->type("title", "My document");
                $this->type("//textarea[@name='description']", "L'année 
dernière à Noël, 3 < 4, 中国 \" <em>, père & fils");
                $this->clickAndWait("//input[@name='type' and 
@value='pasteurl']");
@@ -129,7 +129,7 @@ class CreateDocURL extends FForge_SeleniumTestCase {
                $this->assertTextPresent("Document ".URL."/terms.php submitted 
successfully");
                $this->clickAndWait("listFileDocmanMenu");
                $this->clickAndWait("link=Uncategorized Submissions");
-               $this->click("css=img[alt='editdocument']");
+               $this->clickAndWait("css=img[alt='editdocument']");
                $this->pause("10000");
                $this->assertTextPresent("1 (x)");
                
$this->select($this->byId('stateid'))->selectOptionByLabel('pending');
@@ -147,23 +147,23 @@ class CreateDocURL extends FForge_SeleniumTestCase {
                $this->clickAndWait("addItemDocmanMenu");
                // ugly hack until we fix behavior in docman when no folders 
exist. We need to click twice on the link
                $this->clickAndWait("addItemDocmanMenu");
-               $this->click("id=tab-new-document");
+               $this->clickAndWait("id=tab-new-document");
                $this->type("title", "My document");
                $this->type("//textarea[@name='description']", "My 
Description");
-               $this->click("//input[@name='type' and @value='pasteurl']");
+               $this->clickAndWait("//input[@name='type' and 
@value='pasteurl']");
                $this->type("file_url", URL."/terms.php");
                $this->clickAndWait("//input[@name='submit' and @value='Submit 
Information']");
                $this->assertTextPresent("Document ".URL."/terms.php submitted 
successfully");
                $this->clickAndWait("listFileDocmanMenu");
                $this->clickAndWait("link=Uncategorized Submissions");
-               $this->click("css=img[alt='editdocument']");
+               $this->clickAndWait("css=img[alt='editdocument']");
                $this->pause("10000");
                $this->assertTextPresent("1 (x)");
-               $this->click("id=doc_version_addbutton");
+               $this->clickAndWait("id=doc_version_addbutton");
                $this->type("id=title", "My new document");
                $this->type("id=description", "My new description");
-               $this->click("id=current_version");
-               $this->click("id=editButtonUrl");
+               $this->clickAndWait("id=current_version");
+               $this->clickAndWait("id=editButtonUrl");
                $this->type("id=editFileurl", "http://google.fr";);
                $this->clickAndWait("xpath=(//button[@type='button'])[3]");
                $this->assertTextPresent("updated successfully");
diff --git a/tests/func/20_News/newsTest.php b/tests/func/20_News/newsTest.php
index 9ed2aa6..be0488c 100644
--- a/tests/func/20_News/newsTest.php
+++ b/tests/func/20_News/newsTest.php
@@ -115,10 +115,10 @@ class CreateNews extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Test3");
                $this->assertTextPresent("Special ' chars \"");
                $this->clickAndWait("link=News");
-               $this->click("//a[contains(@href, '". ROOT . 
"/news/admin/?group_id=7')]");
+               $this->clickAndWait("//a[contains(@href, '". ROOT . 
"/news/admin/?group_id=7')]");
                $this->waitForPageToLoad("30000");
                $this->clickAndWait("link=Test3");
-               $this->click("//form[@id='newsadminform']//input[@name='status' 
and @value=4]");
+               
$this->clickAndWait("//form[@id='newsadminform']//input[@name='status' and 
@value=4]");
                $this->clickAndWait("submit");
        }
 
diff --git a/tests/func/20_Surveys/surveysTest.php 
b/tests/func/20_Surveys/surveysTest.php
index 5c2c213..41da3aa 100644
--- a/tests/func/20_Surveys/surveysTest.php
+++ b/tests/func/20_Surveys/surveysTest.php
@@ -95,7 +95,7 @@ class Surveys extends FForge_SeleniumTestCase
                $this->assertTextPresent("This is my third question (yes/no) 
?");
                $this->assertTextPresent("This is my second question (text 
area) ?");
                $this->clickAndWait("This is my first question (radio) ?");
-               $this->click("//input[@name='_1' and @value='3']");
+               $this->clickAndWait("//input[@name='_1' and @value='3']");
                $this->type("_2", "hello");
                $this->clickAndWait("_3");
                $this->clickAndWait("_5");
@@ -124,7 +124,7 @@ class Surveys extends FForge_SeleniumTestCase
                $this->clickAndWait("submit");
                $this->clickAndWait("link=Add Survey");
                $this->clickAndWait("link=Edit");
-               $this->click("to_add[]");
+               $this->clickAndWait("to_add[]");
                $this->clickAndWait("submit");
                $this->clickAndWait("link=Add Survey");
                $this->type("survey_title", "Q10 ?");
@@ -157,11 +157,11 @@ class Surveys extends FForge_SeleniumTestCase
 //             $this->clickAndWait("link=Administration");
 //             $this->clickAndWait("link=Add Survey");
 //             $this->clickAndWait("link=Edit");
-//             $this->click("//input[@name='is_public' and @value='0']");
+//             $this->clickAndWait("//input[@name='is_public' and 
@value='0']");
 //             $this->clickAndWait("submit");
 //             // Log out and check no survey is visible
 //             $this->clickAndWait("link=Log Out");
-//             $this->select("none", "label=projecta");
+//             
$this->select($this->byName("none"))->selectOptionByLabel("projecta");
 //             $this->waitForPageToLoad("30000");
 //             $this->clickAndWait("link=Surveys");
 //             $this->assertTextPresent("No Survey is found");
diff --git a/tests/func/20_Tasks/createTaskTest.php 
b/tests/func/20_Tasks/createTaskTest.php
index 3140f9b..03319cc 100644
--- a/tests/func/20_Tasks/createTaskTest.php
+++ b/tests/func/20_Tasks/createTaskTest.php
@@ -326,7 +326,7 @@ class CreateTask extends FForge_SeleniumTestCase
                $this->clickAndWait("link=My Page");
                // You cannot click on "Assigned Tasks" tabs,
                // but the text is present in the page anyway.
-               // $this->click("link=Assigned Tasks");
+               // $this->clickAndWait("link=Assigned Tasks");
                $this->assertTextPresent("Task2: Hello France");
                $this->switchUser('uadmin');
                $this->open(ROOT);
diff --git a/tests/func/30_RBAC/rbacTest.php b/tests/func/30_RBAC/rbacTest.php
index 3ee8413..710f89b 100644
--- a/tests/func/30_RBAC/rbacTest.php
+++ b/tests/func/30_RBAC/rbacTest.php
@@ -69,15 +69,15 @@ class RBAC extends FForge_SeleniumTestCase
                $this->waitForPageToLoad("30000");
 
                // Grant it permissions
-               
$this->select($this->byXpath("//select[@name='data[approve_projects][-1]']"))->selectOptionByLabel("Approve
 projects");
-               
$this->select($this->byXpath("//select[@name='data[approve_news][-1]']"))->selectOptionByLabel("Approve
 news");
+               
$this->select($this->byXPath("//select[@name='data[approve_projects][-1]']"))->selectOptionByLabel("Approve
 projects");
+               
$this->select($this->byXPath("//select[@name='data[approve_news][-1]']"))->selectOptionByLabel("Approve
 news");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
 
                // Check permissions were saved
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers") ;
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers") ;
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
 
@@ -86,7 +86,7 @@ class RBAC extends FForge_SeleniumTestCase
                
$this->assertSelected("//select[@name='data[approve_news][-1]']", "Approve 
news");
 
                // Whoops, we don't actually want the news moderation bit, 
unset it
-               
$this->select($this->byXpath("//select[@name='data[approve_news][-1]']"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//select[@name='data[approve_news][-1]']"))->selectOptionByLabel("No
 Access");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertSelected("//select[@name='data[approve_projects][-1]']", "Approve 
projects");
@@ -99,7 +99,7 @@ class RBAC extends FForge_SeleniumTestCase
                // Add them to their respective roles, check they're here
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers");
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers");
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'globalroleedit.php')]//input[@name='form_unix_name']",
 "projapp") ;
@@ -109,7 +109,7 @@ class RBAC extends FForge_SeleniumTestCase
 
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("News
 moderators") ;
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("News
 moderators") ;
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'globalroleedit.php')]//input[@name='form_unix_name']",
 "newsmod") ;
@@ -137,7 +137,7 @@ class RBAC extends FForge_SeleniumTestCase
                // (For cases where project_registration_restricted=true)
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers");
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers");
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'globalroleedit.php')]//input[@name='form_unix_name']",
 "toto") ;
@@ -151,7 +151,7 @@ class RBAC extends FForge_SeleniumTestCase
                // Revoke project approval rights
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers");
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Project
 approvers");
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                
$this->clickAndWait("//a[contains(@href,'/users/toto')]/../../td/input[@type='checkbox']")
 ;
@@ -229,7 +229,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
                
$this->assertTrue($this->isElementPresent("//option[.='Temporary role']"));
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Temporary
 role");
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Temporary
 role");
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'globalroleedit.php')]//input[@name='form_unix_name']",
 "toto") ;
@@ -242,7 +242,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->assertTrue($this->isTextPresent("Cannot remove a non 
empty role"));
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Temporary
 role");
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Temporary
 role");
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                
$this->clickAndWait("//a[contains(@href,'/users/toto')]/../../td/input[@type='checkbox']")
 ;
@@ -252,7 +252,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Site Admin");
                $this->waitForPageToLoad("30000");
                
$this->assertTrue($this->isElementPresent("//option[.='Temporary role']"));
-               
$this->select($this->byXpath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Temporary
 role");
+               
$this->select($this->byXPath("//form[contains(@action,'globalroleedit.php')]//select[@name='role_id']"))->selectOptionByLabel("Temporary
 role");
                
$this->clickAndWait("//form[contains(@action,'globalroleedit.php')]//input[@value='Edit
 Role']") ;
                $this->waitForPageToLoad("30000");
                $this->clickAndWait("//input[@type='checkbox' and 
@name='sure']") ;
@@ -278,7 +278,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->waitForPageToLoad("30000");
 
                // Grant it permissions
-               
$this->select($this->byXpath("//select[@name='data[approve_projects][-1]']"))->selectOptionByLabel("Approve
 projects");
+               
$this->select($this->byXPath("//select[@name='data[approve_projects][-1]']"))->selectOptionByLabel("Approve
 projects");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
 
@@ -338,28 +338,28 @@ class RBAC extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Users and permissions");
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "guru") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Senior 
Developer");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Senior 
Developer");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("guru Lastname"));
                $this->assertTrue($this->isElementPresent("//tr/td/a[.='guru 
Lastname']/../../td/div[contains(.,'Senior Developer')]")) ;
 
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "trainee") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Junior 
Developer");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Junior 
Developer");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("trainee Lastname"));
                $this->assertTrue($this->isElementPresent("//tr/td/a[.='trainee 
Lastname']/../../td/div[contains(.,'Junior Developer')]")) ;
 
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "docmaster") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Doc 
Writer");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Doc 
Writer");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("docmaster Lastname"));
                
$this->assertTrue($this->isElementPresent("//tr/td/a[.='docmaster 
Lastname']/../../td/div[contains(.,'Doc Writer')]")) ;
 
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "bigboss") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Senior 
Developer");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Senior 
Developer");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("bigboss Lastname"));
@@ -376,7 +376,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->assertFalse($this->isTextPresent("trainee Lastname"));
 
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "trainee") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Junior 
Developer");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Junior 
Developer");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("trainee Lastname"));
@@ -392,13 +392,13 @@ class RBAC extends FForge_SeleniumTestCase
                $this->clickAndWait("//td/form/div[contains(.,'Junior 
Developer')]/../div/input[@value='Edit Permissions']") ;
                $this->waitForPageToLoad("30000");
 
-               
$this->select($this->byXpath("//select[contains(@name,'data[frs_admin]')]"))->selectOptionByLabel("FRS
 access");
-               
$this->select($this->byXpath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("Read
 only");
+               
$this->select($this->byXPath("//select[contains(@name,'data[frs_admin]')]"))->selectOptionByLabel("FRS
 access");
+               
$this->select($this->byXPath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("Read
 only");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertSelected("//select[contains(@name,'data[docman]')]", "Read only");
                
$this->assertSelected("//select[contains(@name,'data[frs_admin]')]", "FRS 
access");
-               
$this->select($this->byXpath("//select[contains(@name,'data[new_frs]')]"))->selectOptionByLabel("Read
 only");
+               
$this->select($this->byXPath("//select[contains(@name,'data[new_frs]')]"))->selectOptionByLabel("Read
 only");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertSelected("//select[contains(@name,'data[new_frs]')]", "Read only");
@@ -467,7 +467,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->waitForPageToLoad("30000");
 
                $this->assertTrue($this->isElementPresent("//input[@value='Link 
external role']/../../div/fieldset/select/option[.='Senior Developer (in 
project MetaProject)']")) ;
-               $this->select($this->byXpath("//input[@value='Link external 
role']/../../div/fieldset/select"))->selectOptionByLabel("Senior Developer (in 
project MetaProject)") ;
+               $this->select($this->byXPath("//input[@value='Link external 
role']/../../div/fieldset/select"))->selectOptionByLabel("Senior Developer (in 
project MetaProject)") ;
                $this->clickAndWait("//input[@value='Link external role']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertTrue($this->isElementPresent("//td/form/div[contains(.,'Senior 
Developer (in project MetaProject)')]/../div/input[contains(@value,'Unlink 
Role')]"));
@@ -475,7 +475,7 @@ class RBAC extends FForge_SeleniumTestCase
                // Grant it tracker manager permissions
                $this->clickAndWait("//td/form/div[contains(.,'Senior Developer 
(in project MetaProject)')]/../div/input[@value='Edit Permissions']") ;
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("Manager");
+               
$this->select($this->byXPath("//select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("Manager");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
 
@@ -500,7 +500,7 @@ class RBAC extends FForge_SeleniumTestCase
 
                $this->assertTrue($this->isElementPresent("//input[@value='Link 
external role']/../../div/fieldset/select/option[.='Documentation masters 
(global role)']")) ;
                
$this->assertFalse($this->isElementPresent("//input[@value='Link external 
role']/../../div/fieldset/select/option[.='Project moderators (global 
role)']")) ;
-               $this->select($this->byXpath("//input[@value='Link external 
role']/../../div/fieldset/select"))->selectOptionByLabel("Documentation masters 
(global role)") ;
+               $this->select($this->byXPath("//input[@value='Link external 
role']/../../div/fieldset/select"))->selectOptionByLabel("Documentation masters 
(global role)") ;
                $this->clickAndWait("//input[@value='Link external role']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertTrue($this->isElementPresent("//td/form/div[contains(.,'Documentation
 masters (global role)')]/../div/input[contains(@value,'Unlink Role')]"));
@@ -512,7 +512,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Users and permissions");
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "guru") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Admin");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Admin");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("guru Lastname"));
@@ -547,7 +547,7 @@ class RBAC extends FForge_SeleniumTestCase
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("Temporary role"));
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "trainee") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Temporary 
role");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Temporary 
role");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
                $this->clickAndWait("//td/form/div[contains(.,'Temporary 
role')]/../../form/div/input[@value='Delete role']") ;
@@ -610,17 +610,17 @@ class RBAC extends FForge_SeleniumTestCase
                
$this->clickAndWait("//td/form/div[contains(.,'Anonymous')]/../div/input[@value='Edit
 Permissions']") ;
                $this->waitForPageToLoad("30000");
 
-               
$this->select($this->byXpath("//tr/td[contains(.,'first-news')]/../td/fieldset/select"))->selectOptionByLabel("Read
 only");
+               
$this->select($this->byXPath("//tr/td[contains(.,'first-news')]/../td/fieldset/select"))->selectOptionByLabel("Read
 only");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertSelected("//tr/td[contains(.,'first-news')]/../td/fieldset/select",
 "Read only");
 
-               
$this->select($this->byXpath("//tr/td[contains(.,'first-news')]/../td/fieldset/select"))->selectOptionByLabel("Moderated
 post");
+               
$this->select($this->byXPath("//tr/td[contains(.,'first-news')]/../td/fieldset/select"))->selectOptionByLabel("Moderated
 post");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertSelected("//tr/td[contains(.,'first-news')]/../td/fieldset/select",
 "Moderated post");
 
-               
$this->select($this->byXpath("//tr/td[contains(.,'first-news')]/../td/fieldset/select"))->selectOptionByLabel("Unmoderated
 post");
+               
$this->select($this->byXPath("//tr/td[contains(.,'first-news')]/../td/fieldset/select"))->selectOptionByLabel("Unmoderated
 post");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
                
$this->assertSelected("//tr/td[contains(.,'first-news')]/../td/fieldset/select",
 "Unmoderated post");
diff --git a/tests/func/30_Search/searchTest.php 
b/tests/func/30_Search/searchTest.php
index 21df270..7b38652 100644
--- a/tests/func/30_Search/searchTest.php
+++ b/tests/func/30_Search/searchTest.php
@@ -541,7 +541,7 @@ class Search extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Users and permissions");
                $this->waitForPageToLoad("30000");
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "ratatouille") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Trainee");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Trainee");
                $this->clickAndWait("//input[@value='Add Member']") ;
                $this->waitForPageToLoad("30000");
 
@@ -549,14 +549,14 @@ class Search extends FForge_SeleniumTestCase
                $this->waitForPageToLoad("30000");
                
$this->clickAndWait("//td/form/div[contains(.,'Trainee')]/../div/input[@value='Edit
 Permissions']") ;
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//select[contains(@name,'data[project_read]')]"))->selectOptionByLabel("Visible");
-               
$this->select($this->byXpath("//tr/td[.='Bugs']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("Read
 only");
-               
$this->select($this->byXpath("//tr/td[.='Patches']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
-               $this->select($this->byXpath("//tr/td[.='To 
Do']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("Read
 only");
-               $this->select($this->byXpath("//tr/td[.='Next 
Release']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
-               
$this->select($this->byXpath("//tr/td[.='open-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("Read
 only");
-               
$this->select($this->byXpath("//tr/td[.='developers-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
-               
$this->select($this->byXpath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("Read
 only");
+               
$this->select($this->byXPath("//select[contains(@name,'data[project_read]')]"))->selectOptionByLabel("Visible");
+               
$this->select($this->byXPath("//tr/td[.='Bugs']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("Read
 only");
+               
$this->select($this->byXPath("//tr/td[.='Patches']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
+               $this->select($this->byXPath("//tr/td[.='To 
Do']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("Read
 only");
+               $this->select($this->byXPath("//tr/td[.='Next 
Release']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='open-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("Read
 only");
+               
$this->select($this->byXPath("//tr/td[.='developers-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("Read
 only");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
 
@@ -564,14 +564,14 @@ class Search extends FForge_SeleniumTestCase
                $this->waitForPageToLoad("30000");
                
$this->clickAndWait("//td/form/div[contains(.,'Anonymous')]/../div/input[@value='Edit
 Permissions']") ;
                $this->waitForPageToLoad("30000");
-               
$this->select($this->byXpath("//select[contains(@name,'data[project_read]')]"))->selectOptionByLabel("Visible");
-               
$this->select($this->byXpath("//tr/td[.='Bugs']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
-               
$this->select($this->byXpath("//tr/td[.='Patches']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
-               $this->select($this->byXpath("//tr/td[.='To 
Do']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
-               $this->select($this->byXpath("//tr/td[.='Next 
Release']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
-               
$this->select($this->byXpath("//tr/td[.='open-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
-               
$this->select($this->byXpath("//tr/td[.='developers-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
-               
$this->select($this->byXpath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//select[contains(@name,'data[project_read]')]"))->selectOptionByLabel("Visible");
+               
$this->select($this->byXPath("//tr/td[.='Bugs']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='Patches']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
+               $this->select($this->byXPath("//tr/td[.='To 
Do']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
+               $this->select($this->byXPath("//tr/td[.='Next 
Release']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='open-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='developers-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("No
 Access");
                $this->clickAndWait("//input[@value='Submit']") ;
                $this->waitForPageToLoad("30000");
 
diff --git a/tests/func/50_PluginsScmGit/gitSSHTest.php 
b/tests/func/50_PluginsScmGit/gitSSHTest.php
index dbff68f..51d8594 100644
--- a/tests/func/50_PluginsScmGit/gitSSHTest.php
+++ b/tests/func/50_PluginsScmGit/gitSSHTest.php
@@ -87,7 +87,7 @@ class ScmGitSSHTest extends FForge_SeleniumTestCase
                $this->activatePlugin('globalactivity');
 
                $this->open(ROOT.'/plugins/globalactivity/');
-               
$this->select($this->byXpath("//select[@name='show[]']"))->selectOptionByLabel("Git
 Commits");
+               
$this->select($this->byXPath("//select[@name='show[]']"))->selectOptionByLabel("Git
 Commits");
                $this->clickAndWait("submit");
                $this->assertTextPresent("scm commit: Modifying file");
                $this->assertTextPresent("scm commit: Adding file");
diff --git a/tests/func/50_PluginsScmGit/gitSmartHTTPTest.php 
b/tests/func/50_PluginsScmGit/gitSmartHTTPTest.php
index edd1a4a..0d7c97e 100644
--- a/tests/func/50_PluginsScmGit/gitSmartHTTPTest.php
+++ b/tests/func/50_PluginsScmGit/gitSmartHTTPTest.php
@@ -130,7 +130,7 @@ class ScmGitSmartHTTPTest extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Admin");
                $this->clickAndWait("link=Users and permissions");
                $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "otheruser") ;
-               $this->select($this->byXpath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Admin");
+               $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Admin");
                $this->clickAndWait ("//input[@value='Add Member']") ;
                $this->assertTrue($this->isTextPresent("otheruser Lastname"));
                
$this->assertTrue($this->isElementPresent("//tr/td/a[.='otheruser 
Lastname']/../../td/div[contains(.,'Admin')]")) ;
diff --git a/tests/func/50_PluginsScmHg/hgHTTPTest.php 
b/tests/func/50_PluginsScmHg/hgHTTPTest.php
index 8c9dbb7..196e128 100644
--- a/tests/func/50_PluginsScmHg/hgHTTPTest.php
+++ b/tests/func/50_PluginsScmHg/hgHTTPTest.php
@@ -2,7 +2,7 @@
 /**
  * Copyright (C) 2012 Roland Mas
  * Copyright (C) 2015  Inria (Sylvain Beucler)
- * Copyright 2017, Franck Villaume - TrivialDev
+ * Copyright 2017,2019, Franck Villaume - TrivialDev
  *
  * This file is part of FusionForge.
  *
@@ -38,7 +38,7 @@ class ScmHgHTTPTest extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Admin");
                $this->clickAndWait("link=Tools");
                $this->clickAndWait("link=Source Code Admin");
-               $this->click("//input[@name='scmengine[]' and @value='scmhg']");
+               $this->clickAndWait("//input[@name='scmengine[]' and 
@value='scmhg']");
                $this->clickAndWait("submit");
 
                // Create repositories
@@ -88,13 +88,13 @@ class ScmHgHTTPTest extends FForge_SeleniumTestCase
 //             // Disable anonymous access to gitweb
 //             $this->openWithOneRetry(ROOT);
 //             $this->clickAndWait("link=ProjectA");
-//             $this->click("link=Admin");
+//             $this->clickAndWait("link=Admin");
 //             $this->waitForPageToLoad("30000");
 //             $this->assertTrue($this->isTextPresent("Project Information"));
-//             $this->click("link=Users and permissions");
+//             $this->clickAndWait("link=Users and permissions");
 //             $this->waitForPageToLoad("30000");
 //             $this->assertTrue($this->isTextPresent("Current Project 
Members"));
-//             
$this->click("//tr/td/form/div[contains(.,'Anonymous')]/../../../td/form/div/input[contains(@value,'Unlink
 Role')]");
+//             
$this->clickAndWait("//tr/td/form/div[contains(.,'Anonymous')]/../../../td/form/div/input[contains(@value,'Unlink
 Role')]");
 //             $this->waitForPageToLoad("30000");
 //             $this->assertTrue($this->isTextPresent("Role unlinked 
successfully"));
 //
@@ -130,7 +130,7 @@ class ScmHgHTTPTest extends FForge_SeleniumTestCase
 //             $this->clickAndWait("link=Admin");
 //             $this->clickAndWait("link=Users and permissions");
 //             $this->type 
("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and 
@type='text']", "otheruser") ;
-//             $this->select("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']", "label=Admin");
+//             $this->select($this->byXPath("//input[@value='Add 
Member']/../fieldset/select[@name='role_id']"))->selectOptionByLabel("Admin");
 //             $this->clickAndWait ("//input[@value='Add Member']") ;
 //             $this->assertTrue($this->isTextPresent("otheruser Lastname"));
 //             
$this->assertTrue($this->isElementPresent("//tr/td/a[.='otheruser 
Lastname']/../../td/div[contains(.,'Admin')]")) ;
@@ -139,7 +139,7 @@ class ScmHgHTTPTest extends FForge_SeleniumTestCase
 //
 //             $this->clickAndWait("link=Tools");
 //             $this->clickAndWait("link=Source Code Admin");
-//             $this->click("//input[@name='scmengine[]' and 
@value='scmgit']");
+//             $this->clickAndWait("//input[@name='scmengine[]' and 
@value='scmgit']");
 //             $this->clickAndWait("submit");
 //
 //             // Create repositories
diff --git a/tests/func/50_PluginsScmHg/hgSSHTest.php 
b/tests/func/50_PluginsScmHg/hgSSHTest.php
index 34ebcea..0b051af 100644
--- a/tests/func/50_PluginsScmHg/hgSSHTest.php
+++ b/tests/func/50_PluginsScmHg/hgSSHTest.php
@@ -87,7 +87,7 @@ class ScmHgSSHTest extends FForge_SeleniumTestCase
 //             $this->activatePlugin('globalactivity');
 // 
 //             $this->open(ROOT.'/plugins/globalactivity/');
-//             $this->select("//select[@name='show[]']","label=Git Commits");
+//             
$this->select($this->byXPath("//select[@name='show[]']"))->selectOptionByLabel("Hg
 Commits");
 //             $this->clickAndWait("submit");
 //             $this->assertTextPresent("scm commit: Modifying file");
 //             $this->assertTextPresent("scm commit: Adding file");
diff --git a/tests/func/50_PluginsScmSvn/svnWebDAVTest.php 
b/tests/func/50_PluginsScmSvn/svnWebDAVTest.php
index c08423c..8394caa 100644
--- a/tests/func/50_PluginsScmSvn/svnWebDAVTest.php
+++ b/tests/func/50_PluginsScmSvn/svnWebDAVTest.php
@@ -2,6 +2,7 @@
 /**
  * Copyright (C) 2012 Roland Mas
  * Copyright (C) 2015  Inria (Sylvain Beucler)
+ * Copyright 2019, Franck Villaume - TrivialDev
  *
  * This file is part of FusionForge.
  *
@@ -39,7 +40,7 @@ class ScmSvnWebDAVTest extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Admin");
                $this->clickAndWait("link=Tools");
                $this->clickAndWait("link=Source Code Admin");
-               $this->click("//input[@name='scmengine[]' and 
@value='scmsvn']");
+               $this->clickAndWait("//input[@name='scmengine[]' and 
@value='scmsvn']");
                $this->clickAndWait("submit");
 
                // Run the cronjob to create repositories
diff --git a/tests/func/60_PluginsBlocks/blocksTest.php 
b/tests/func/60_PluginsBlocks/blocksTest.php
index 5e2b1b2..3f417dc 100644
--- a/tests/func/60_PluginsBlocks/blocksTest.php
+++ b/tests/func/60_PluginsBlocks/blocksTest.php
@@ -2,6 +2,7 @@
 /**
  * Copyright (C) 2010 Alcatel-Lucent
  * Copyright (C) 2015  Inria (Sylvain Beucler)
+ * Copyright 2019, Franck Villaume - TrivialDev
  *
  * This file is part of FusionForge.
  *
@@ -57,33 +58,33 @@ class UserBlocks extends FForge_SeleniumTestCase
 
                $this->gotoProject('ProjectA');
 
-               $this->click("link=Admin");
+               $this->clickAndWait("link=Admin");
                $this->waitForPageToLoad("30000");
-               $this->click("link=Tools");
+               $this->clickAndWait("link=Tools");
                $this->waitForPageToLoad("30000");
-               $this->click("use_blocks");
-               $this->click("submit");
+               $this->clickAndWait("use_blocks");
+               $this->clickAndWait("submit");
                $this->waitForPageToLoad("30000");
                $this->assertTrue($this->isTextPresent("Project information 
updated"));
-               $this->click("link=Blocks Admin");
+               $this->clickAndWait("link=Blocks Admin");
                $this->waitForPageToLoad("30000");
-               $this->click("activate[summary_description]");
-       //    $this->click("activate[summary_right]");
-               $this->click("//input[@value='Save Blocks']");
+               $this->clickAndWait("activate[summary_description]");
+       //    $this->clickAndWait("activate[summary_right]");
+               $this->clickAndWait("//input[@value='Save Blocks']");
                $this->waitForPageToLoad("30000");
 
                
$this->open("/plugins/blocks/index.php?id=7&type=admin&pluginname=blocks");
-               $this->click("link=Configure");
+               $this->clickAndWait("link=Configure");
                $this->waitForPageToLoad("30000");
                $this->type("body", "This is my nice block.");
-               $this->click("//input[@value='Save']");
+               $this->clickAndWait("//input[@value='Save']");
                $this->waitForPageToLoad("30000");
-       //    
$this->click("//main[@id='maindiv']/form/table/tbody/tr[2]/td[4]/a");
+       //    
$this->clickAndWait("//main[@id='maindiv']/form/table/tbody/tr[2]/td[4]/a");
        //    $this->waitForPageToLoad("30000");
        //    $this->type("body", "{boxTop Project}\nThis is the summary 
block.\n{boxBottom}");
-       //    $this->click("//input[@value='Save']");
+       //    $this->clickAndWait("//input[@value='Save']");
        //    $this->waitForPageToLoad("30000");
-               $this->click("link=Summary");
+               $this->clickAndWait("link=Summary");
                $this->waitForPageToLoad("30000");
        //    $this->assertText("//td[@id='main']/table[1]/tbody/tr/td[1]", 
"This is my nice block.");
        //    $this->assertEquals("This is the summary block.", 
$this->getText("//td[@id='main']/table[1]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td"));
diff --git a/tests/func/60_PluginsGlobalactivity/globalactivityTest.php 
b/tests/func/60_PluginsGlobalactivity/globalactivityTest.php
index d810853..16ef356 100644
--- a/tests/func/60_PluginsGlobalactivity/globalactivityTest.php
+++ b/tests/func/60_PluginsGlobalactivity/globalactivityTest.php
@@ -66,7 +66,7 @@ class GlobalActivity extends FForge_SeleniumTestCase
                $this->gotoProject('ProjectA');
                $this->clickAndWait("link=Forums");
                $this->clickAndWait("link=open-discussion");
-               $this->click("link=Start New Thread");
+               $this->clickAndWait("link=Start New Thread");
                $this->waitForPageToLoad("30000");
                $this->type("subject", "Message1 in a bottle");
                $this->type("body", "ninetynine of them on Charlie's wall - 
also, ZONGO");
@@ -75,7 +75,7 @@ class GlobalActivity extends FForge_SeleniumTestCase
                $this->createAndGoto('ProjectB');
                $this->clickAndWait("link=Forums");
                $this->clickAndWait("link=open-discussion");
-               $this->click("link=Start New Thread");
+               $this->clickAndWait("link=Start New Thread");
                $this->waitForPageToLoad("30000");
                $this->type("subject", "Message2");
                $this->type("body", "Forum post in project B");
@@ -88,10 +88,10 @@ class GlobalActivity extends FForge_SeleniumTestCase
                $this->clickAndWait("addItemDocmanMenu");
                // ugly hack until we fix behavior in docman when no folders 
exist. We need to click twice on the link
                $this->clickAndWait("addItemDocmanMenu");
-               $this->click("id=tab-new-document");
+               $this->clickAndWait("id=tab-new-document");
                $this->type("title", "Doc1 Vladimir");
                $this->type("//textarea[@name='description']", "Main website 
(the needle) - also, ZONGO");
-               $this->click("//input[@name='type' and @value='pasteurl']");
+               $this->clickAndWait("//input[@name='type' and 
@value='pasteurl']");
                $this->type("file_url", "http://fusionforge.org/";);
                $this->clickAndWait("submit");
 
@@ -218,14 +218,14 @@ class GlobalActivity extends FForge_SeleniumTestCase
                $this->clickAndWait("link=Admin");
                $this->clickAndWait("link=Users and permissions");
                $this->clickAndWait 
("//td/form/div[contains(.,'Anonymous')]/../div/input[@value='Edit 
Permissions']") ;
-               $this->select("//select[contains(@name,'data[project_read]')]", 
"label=Visible");
-               
$this->select("//tr/td[.='Bugs']/../td/fieldset/select[contains(@name,'data[tracker]')]",
 "label=No Access");
-               
$this->select("//tr/td[.='Patches']/../td/fieldset/select[contains(@name,'data[tracker]')]",
 "label=No Access");
-               $this->select("//tr/td[.='To 
Do']/../td/fieldset/select[contains(@name,'data[pm]')]", "label=No Access");
-               $this->select("//tr/td[.='Next 
Release']/../td/fieldset/select[contains(@name,'data[pm]')]", "label=No 
Access");
-               
$this->select("//tr/td[.='open-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]",
 "label=No Access");
-               
$this->select("//tr/td[.='developers-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]",
 "label=No Access");
-               $this->select("//select[contains(@name,'data[docman]')]", 
"label=Read only");
+               
$this->select($this->byXPath("//select[contains(@name,'data[project_read]')]"))->selectOptionByLabel("Visible");
+               
$this->select($this->byXPath("//tr/td[.='Bugs']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='Patches']/../td/fieldset/select[contains(@name,'data[tracker]')]"))->selectOptionByLabel("No
 Access");
+               $this->select($this->byXPath("//tr/td[.='To 
Do']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
+               $this->select($this->byXPath("//tr/td[.='Next 
Release']/../td/fieldset/select[contains(@name,'data[pm]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='open-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//tr/td[.='developers-discussion']/../td/fieldset/select[contains(@name,'data[forum]')]"))->selectOptionByLabel("No
 Access");
+               
$this->select($this->byXPath("//select[contains(@name,'data[docman]')]"))->selectOptionByLabel("Read
 only");
                $this->clickAndWait ("//input[@value='Submit']") ;
 
                // Recheck perms on anonymous global activity page
diff --git a/tests/func/60_PluginsMediawiki/mediawikiTest.php 
b/tests/func/60_PluginsMediawiki/mediawikiTest.php
index 50d6e5c..661fe6b 100644
--- a/tests/func/60_PluginsMediawiki/mediawikiTest.php
+++ b/tests/func/60_PluginsMediawiki/mediawikiTest.php
@@ -38,7 +38,7 @@ class PluginMediawiki extends FForge_SeleniumTestCase
                $this->gotoProject('ProjectA');
                $this->clickAndWait("link=Admin");
                $this->clickAndWait("link=Tools");
-               $this->click("use_mediawiki");
+               $this->clickAndWait("use_mediawiki");
                $this->clickAndWait("submit");
                $this->assertTrue($this->isTextPresent("Project information 
updated"));
 
diff --git a/tests/func/60_PluginsMoinMoin/moinmoinTest.php 
b/tests/func/60_PluginsMoinMoin/moinmoinTest.php
index 7c12922..538e5f5 100644
--- a/tests/func/60_PluginsMoinMoin/moinmoinTest.php
+++ b/tests/func/60_PluginsMoinMoin/moinmoinTest.php
@@ -2,6 +2,7 @@
 /**
  * Copyright 2012, Roland Mas
  * Copyright (C) 2015  Inria (Sylvain Beucler)
+ * Copyright 2019, Franck Villaume - TrivialDev
  *
  * This file is part of FusionForge.
  *
@@ -38,7 +39,7 @@ class PluginMoinMoin extends FForge_SeleniumTestCase
                $this->gotoProject('ProjectA');
                $this->clickAndWait("link=Admin");
                $this->clickAndWait("link=Tools");
-               $this->click("use_moinmoin");
+               $this->clickAndWait("use_moinmoin");
                $this->clickAndWait("submit");
                $this->assertTrue($this->isTextPresent("Project information 
updated"));
 
diff --git a/tests/func/60_PluginsOnlineHelp/contextualHelpTest.php 
b/tests/func/60_PluginsOnlineHelp/contextualHelpTest.php
index a6a9a2e..614ecd0 100644
--- a/tests/func/60_PluginsOnlineHelp/contextualHelpTest.php
+++ b/tests/func/60_PluginsOnlineHelp/contextualHelpTest.php
@@ -2,6 +2,7 @@
 /**
  * Copyright (C) 2010 Alcatel-Lucent
  * Copyright (C) 2015  Inria (Sylvain Beucler)
+ * Copyright 2019, Franck Villaume - TrivialDev
  *
  * This file is part of FusionForge.
  *
@@ -77,7 +78,7 @@ class ContextualHelp extends FForge_SeleniumTestCase
        function checkWindow($action, $text)
        {
                $this->clickAndWait($action);
-               $this->click("link=Get Help");
+               $this->clickAndWait("link=Get Help");
                sleep(1);
                $this->waitForPopUp("HelpWindow", "30000");
                $this->selectWindow("name=HelpWindow");
diff --git a/tests/func/SeleniumForge.php b/tests/func/SeleniumForge.php
index 1c94b92..3358b15 100644
--- a/tests/func/SeleniumForge.php
+++ b/tests/func/SeleniumForge.php
@@ -198,7 +198,7 @@ class FForge_SeleniumTestCase extends 
PHPUnit_Extensions_Selenium2TestCase
                        $id = substr($link, 3);
                        $myelement = $this->byId($id);
                } else if (preg_match('/^\/\/[a-z]/', $link)) {
-                       $myelement = $this->byXpath($link);
+                       $myelement = $this->byXPath($link);
                } else {
                        //default case
                        $myelement = $this->byName($link);
@@ -427,7 +427,7 @@ class FForge_SeleniumTestCase extends 
PHPUnit_Extensions_Selenium2TestCase
                $this->clickAndWait("//input[@name='scm' and @value='$scm']");
 
                try {
-                       
$this->select($this->byXpath("//select[@name='built_from_template']"))->selectOptionByLabel("Tmpl");
+                       
$this->select($this->byXPath("//select[@name='built_from_template']"))->selectOptionByLabel("Tmpl");
                } catch (Exception $e) {}
 
                $this->clickAndWait("submit");
@@ -589,15 +589,17 @@ class FForge_SeleniumTestCase extends 
PHPUnit_Extensions_Selenium2TestCase
        }
 
        function isElementPresent($element) {
-               if (preg_match('/^\/\/[a-z]/', $element)) {
-                       if ($this->byXpath($element) instanceof 
PHPUnit_Extensions_Selenium2TestCase_Element) {
-                               return true;
-                       }
-               } elseif (preg_match('/^link=/', $element)) {
-                       if ($this->byLinkText(substr($element, 5)) instanceof 
PHPUnit_Extensions_Selenium2TestCase_Element) {
-                               return true;
+               try {
+                       if (preg_match('/^\/\/[a-z]/', $element)) {
+                               if ($this->byXPath($element) instanceof 
PHPUnit_Extensions_Selenium2TestCase_Element) {
+                                       return true;
+                               }
+                       } elseif (preg_match('/^link=/', $element)) {
+                               if ($this->byLinkText(substr($element, 5)) 
instanceof PHPUnit_Extensions_Selenium2TestCase_Element) {
+                                       return true;
+                               }
                        }
-               }
+               } catch (Exception $e) {}
                return false;
        }
 
@@ -610,7 +612,7 @@ class FForge_SeleniumTestCase extends 
PHPUnit_Extensions_Selenium2TestCase
 
        function type($name, $value) {
                if (preg_match('/^\/\/[a-z]/', $name)) {
-                       $myelement = $this->byXpath($name)->value($value);
+                       $myelement = $this->byXPath($name)->value($value);
                } else {
                        $this->byName($name)->value($value);
                }
@@ -626,14 +628,14 @@ class FForge_SeleniumTestCase extends 
PHPUnit_Extensions_Selenium2TestCase
        }
 
        function check($string) {
-               $myelement = $this->byXpath($string);
+               $myelement = $this->byXPath($string);
                if (!$myelement->attribute('checked')) {
                        $myelement->click();
                }
        }
 
        function uncheck($string) {
-               $myelement = $this->byXpath($string);
+               $myelement = $this->byXPath($string);
                if ($myelement->attribute('checked')) {
                        $myelement->click();
                }

-----------------------------------------------------------------------

Summary of changes:
 tests/func/10_Site/loginTest.php                   |  2 +-
 tests/func/10_Site/projectsTest.php                |  4 +-
 tests/func/20_Docs/createDocURLTest.php            | 16 +++----
 tests/func/20_News/newsTest.php                    |  4 +-
 tests/func/20_Surveys/surveysTest.php              |  8 ++--
 tests/func/20_Tasks/createTaskTest.php             |  2 +-
 tests/func/30_RBAC/rbacTest.php                    | 56 +++++++++++-----------
 tests/func/30_Search/searchTest.php                | 34 ++++++-------
 tests/func/50_PluginsScmGit/gitSSHTest.php         |  2 +-
 tests/func/50_PluginsScmGit/gitSmartHTTPTest.php   |  2 +-
 tests/func/50_PluginsScmHg/hgHTTPTest.php          | 14 +++---
 tests/func/50_PluginsScmHg/hgSSHTest.php           |  2 +-
 tests/func/50_PluginsScmSvn/svnWebDAVTest.php      |  3 +-
 tests/func/60_PluginsBlocks/blocksTest.php         | 27 ++++++-----
 .../globalactivityTest.php                         | 24 +++++-----
 tests/func/60_PluginsMediawiki/mediawikiTest.php   |  2 +-
 tests/func/60_PluginsMoinMoin/moinmoinTest.php     |  3 +-
 .../60_PluginsOnlineHelp/contextualHelpTest.php    |  3 +-
 tests/func/SeleniumForge.php                       | 28 ++++++-----
 19 files changed, 121 insertions(+), 115 deletions(-)


hooks/post-receive
-- 
FusionForge

_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits

Reply via email to