-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainPage.php
109 lines (93 loc) · 2.69 KB
/
MainPage.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
namespace Base\Pages;
class MainPage extends Page
{
private $loginButton = "//div[@class='header2-nav__user']//a[.='Войти']";
private $usernameField = '.auth__username>span>span>input';
private $passwordField = '.auth__password>span>span>input';
private $submitButton = '.auth__button';
private $authUsername = '.user__name';
private $exit = '.user__logout';
private $searchField = 'header-search';
private $searchButton = '.search2__button>button';
public static $username = 'autotest-mail';
public static $password = '';
public static $searchRequest = 'iphone 7 128Gb';
/**
* @return string
*/
public function getSearchField()
{
return $this->searchField;
}
/**
* @return string
*/
public function getSearchButton()
{
return $this->searchButton;
}
/**
* @return string
*/
public function getAuthUsername()
{
return $this->authUsername;
}
/**
* @return string
*/
public function getExit()
{
return $this->exit;
}
/**
* @return string
*/
public function getLoginButton()
{
return $this->loginButton;
}
/**
* @return string
*/
public function getUsernameField()
{
return $this->usernameField;
}
/**
* @return string
*/
public function getPasswordField()
{
return $this->passwordField;
}
/**
* @return string
*/
public function getSubmitButton()
{
return $this->submitButton;
}
public function login()
{
$this->driver->findElement(\WebDriverBy::xpath($this->getLoginButton()))->click();
$this->driver->wait(10, 200)->until(
\WebDriverExpectedCondition::visibilityOfElementLocated(
\WebDriverBy::cssSelector(self::getUsernameField())
));
$this->driver->findElement(\WebDriverBy::cssSelector($this->getUsernameField()))->sendKeys(self::$username);
$this->driver->findElement(\WebDriverBy::cssSelector($this->getPasswordField()))->sendKeys(self::$password);
$this->driver->findElement(\WebDriverBy::cssSelector($this->getSubmitButton()))->click();
}
public function logout()
{
$this->driver->findElement(\WebDriverBy::className($this->getAuthUsername()))->click();
$this->driver->findElement(\WebDriverBy::className($this->getExit()))->click();
}
public function search()
{
$this->driver->findElement(\WebDriverBy::cssSelector($this->getSearchField()))->sendKeys(self::$searchRequest);
$this->driver->findElement(\WebDriverBy::cssSelector($this->getSearchButton()))->click();
}
}