Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
magento2-functional-testing-framework
src
Magento
FunctionalTestingFramework
Page
Handlers
PageObjectHandler.php
Go to the documentation of this file.
1
<?php
7
namespace
Magento\FunctionalTestingFramework\Page\Handlers
;
8
9
use
Magento\FunctionalTestingFramework\ObjectManager\ObjectHandlerInterface
;
10
use
Magento\FunctionalTestingFramework\ObjectManagerFactory
;
11
use
Magento\FunctionalTestingFramework\Page\Objects\PageObject
;
12
use
Magento\FunctionalTestingFramework\XmlParser\PageParser
;
13
use
Magento\FunctionalTestingFramework\Exceptions\XmlException
;
14
15
class
PageObjectHandler
implements
ObjectHandlerInterface
16
{
17
const
PAGE
=
'page'
;
18
const
SECTION
=
'section'
;
19
const
URL
=
'url'
;
20
const
MODULE
=
'module'
;
21
const
PARAMETERIZED
=
'parameterized'
;
22
const
AREA
=
'area'
;
23
const
NAME_BLACKLIST_ERROR_MSG
=
"Page names cannot contain non alphanumeric characters.\tPage='%s'"
;
24
30
private
static
$INSTANCE;
31
37
private
$pageObjects = [];
38
44
private
function
__construct()
45
{
46
$objectManager
=
ObjectManagerFactory::getObjectManager
();
47
$parser =
$objectManager
->get(PageParser::class);
48
$parserOutput = $parser->getData(self::PAGE);
49
50
if
(!$parserOutput) {
51
// No *Page.xml files found so give up
52
return
;
53
}
54
55
foreach
($parserOutput as $pageName => $pageData) {
56
if
(preg_match(
'/[^a-zA-Z0-9_]/'
, $pageName)) {
57
throw
new
XmlException
(sprintf(self::NAME_BLACKLIST_ERROR_MSG, $pageName));
58
}
59
$area = $pageData[
self::AREA
];
60
$url
= $pageData[
self::URL
];
61
62
if
($area ==
'admin'
) {
63
$url
= ltrim(
$url
,
"/"
);
64
}
65
66
$module = $pageData[
self::MODULE
];
67
$sectionNames = array_keys($pageData[self::SECTION] ?? []);
68
$parameterized = $pageData[
self::PARAMETERIZED
] ??
false
;
69
70
$this->pageObjects[$pageName] =
71
new
PageObject
($pageName,
$url
, $module, $sectionNames, $parameterized, $area);
72
}
73
}
74
81
public
static
function
getInstance
()
82
{
83
if
(!self::$INSTANCE) {
84
self::$INSTANCE =
new
PageObjectHandler
();
85
}
86
87
return
self::$INSTANCE;
88
}
89
96
public
function
getObject
(
$name
)
97
{
98
if
(array_key_exists(
$name
, $this->pageObjects)) {
99
return
$this->
getAllObjects
()[
$name
];
100
}
101
102
return
null
;
103
}
104
110
public
function
getAllObjects
()
111
{
112
return
$this->pageObjects;
113
}
114
}
$url
$url
Definition:
query_redirect.php:14
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\getObject
getObject($name)
Definition:
PageObjectHandler.php:96
$objectManager
$objectManager
Definition:
bootstrap.php:17
Magento\FunctionalTestingFramework\Page\Objects\PageObject
Definition:
PageObject.php:15
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\PARAMETERIZED
const PARAMETERIZED
Definition:
PageObjectHandler.php:21
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\getAllObjects
getAllObjects()
Definition:
PageObjectHandler.php:110
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\MODULE
const MODULE
Definition:
PageObjectHandler.php:20
Magento\FunctionalTestingFramework\ObjectManagerFactory\getObjectManager
static getObjectManager()
Definition:
ObjectManagerFactory.php:97
Magento\FunctionalTestingFramework\Exceptions\XmlException
Definition:
XmlException.php:14
Magento\FunctionalTestingFramework\ObjectManagerFactory
Definition:
ObjectManagerFactory.php:19
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\URL
const URL
Definition:
PageObjectHandler.php:19
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\getInstance
static getInstance()
Definition:
PageObjectHandler.php:81
Magento\FunctionalTestingFramework\XmlParser\PageParser
Definition:
PageParser.php:14
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\SECTION
const SECTION
Definition:
PageObjectHandler.php:18
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\NAME_BLACKLIST_ERROR_MSG
const NAME_BLACKLIST_ERROR_MSG
Definition:
PageObjectHandler.php:23
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\PAGE
const PAGE
Definition:
PageObjectHandler.php:17
Magento\FunctionalTestingFramework\Page\Handlers
Definition:
PageObjectHandler.php:7
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler\AREA
const AREA
Definition:
PageObjectHandler.php:22
Magento\FunctionalTestingFramework\ObjectManager\ObjectHandlerInterface
Definition:
ObjectHandlerInterface.php:12
Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler
Definition:
PageObjectHandler.php:15
$name
if(!isset($_GET['name'])) $name
Definition:
log.php:14