Skip to content

Commit 18df142

Browse files
committed
Add strict locators to Joomla Installation
1 parent 14f1813 commit 18df142

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

src/JoomlaBrowser.php

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -86,48 +86,48 @@ public function installJoomla()
8686
$I->waitForText('Main Configuration', 10,['xpath' => '//h3']);
8787

8888
$this->debug('I click Language Selector');
89-
$I->click("//div[@id='jform_language_chzn']/a"); // Language Selector
89+
$I->click(['xpath' => "//div[@id='jform_language_chzn']/a"]); // Language Selector
9090
$this->debug('I select en-GB');
91-
$I->click("//li[text()='English (United Kingdom)']"); // English (United Kingdom)
92-
sleep(1);
91+
$I->click(['xpath' => "//li[text()='English (United Kingdom)']"]); // English (United Kingdom)
92+
$I->wait(1);
9393
$this->debug('I fill Site Name');
94-
$I->fillField('Site Name', 'Joomla CMS test');
94+
$I->fillField(['id' => 'jform_site_name'], 'Joomla CMS test');
9595
$this->debug('I fill Site Description');
96-
$I->fillField('Description', 'Site for testing Joomla CMS');
96+
$I->fillField(['id' => 'jform_site_metadesc'], 'Site for testing Joomla CMS');
9797

9898
// I get the configuration from acceptance.suite.yml (see: tests/_support/acceptancehelper.php)
9999
$this->debug('I fill Admin Email');
100-
$I->fillField('Admin Email', $this->config['admin email']);
100+
$I->fillField(['id' => 'jform_admin_email'], $this->config['admin email']);
101101
$this->debug('I fill Admin Username');
102-
$I->fillField('Admin Username', $this->config['username']);
102+
$I->fillField(['id' => 'jform_admin_user'], $this->config['username']);
103103
$this->debug('I fill Admin Password');
104-
$I->fillField('Admin Password', $this->config['password']);
104+
$I->fillField(['id' => 'jform_admin_password'], $this->config['password']);
105105
$this->debug('I fill Admin Password Confirmation');
106-
$I->fillField('Confirm Admin Password', $this->config['password']);
106+
$I->fillField(['id' => 'jform_admin_password2'], $this->config['password']);
107107
$this->debug('I click Site Offline: no');
108-
$I->click("//fieldset[@id='jform_site_offline']/label[2]"); // ['No Site Offline']
108+
$I->click(['xpath' => "//fieldset[@id='jform_site_offline']/label[2]"]); // ['No Site Offline']
109109
$this->debug('I click Next');
110-
$I->click('Next');
110+
$I->click(['link' => 'Next']);
111111

112112
$this->debug('I Fill the form for creating the Joomla site Database');
113113
$I->waitForText('Database Configuration', 10,['css' => 'h3']);
114114

115115
$this->debug('I select MySQLi');
116-
$I->selectOption('#jform_db_type', $this->config['database type']);
116+
$I->selectOption(['id' => 'jform_db_type'], $this->config['database type']);
117117
$this->debug('I fill Database Host');
118-
$I->fillField('Host Name', $this->config['database host']);
118+
$I->fillField(['id' => 'jform_db_host'], $this->config['database host']);
119119
$this->debug('I fill Database User');
120-
$I->fillField('Username', $this->config['database user']);
120+
$I->fillField(['id' => 'jform_db_user'], $this->config['database user']);
121121
$this->debug('I fill Database Password');
122-
$I->fillField('Password', $this->config['database password']);
122+
$I->fillField(['id' => 'jform_db_pass'], $this->config['database password']);
123123
$this->debug('I fill Database Name');
124-
$I->fillField('Database Name', $this->config['database name']);
124+
$I->fillField(['id' => 'jform_db_name'], $this->config['database name']);
125125
$this->debug('I fill Database Prefix');
126-
$I->fillField('Table Prefix', $this->config['database prefix']);
126+
$I->fillField(['id' => 'jform_db_prefix'], $this->config['database prefix']);
127127
$this->debug('I click Remove Old Database ');
128-
$I->click("//label[@for='jform_db_old1']"); // Remove Old Database button
128+
$I->click(['xpath' => "//label[@for='jform_db_old1']"]); // Remove Old Database button
129129
$this->debug('I click Next');
130-
$I->click('Next');
130+
$I->click(['link' => 'Next']);
131131

132132
$this->debug('I install joomla with or without sample data');
133133
$I->waitForText('Finalisation', 10, ['xpath' => '//h3']);
@@ -139,8 +139,8 @@ public function installJoomla()
139139
// $this->debug('I install Joomla without Sample Data');
140140
// $I->selectOption('#jform_sample_file', '#jform_sample_file0'); // No sample data
141141
//endif;
142-
$I->selectOption('#jform_sample_file', '#jform_sample_file0'); // No sample data
143-
$I->click('Install');
142+
$I->selectOption(['id' => 'jform_sample_file'], ['id' => 'jform_sample_file0']); // No sample data
143+
$I->click(['link' => 'Install']);
144144

145145
// Wait while Joomla gets installed
146146
$this->debug('I wait for Joomla being installed');

0 commit comments

Comments
 (0)