Skip to content

Commit 166b7c6

Browse files
author
hekra01
authored
Merge pull request #18 from cisco-open-source/REFACT
small refactoring
2 parents 6f1432c + e0ca0df commit 166b7c6

File tree

2 files changed

+78
-67
lines changed

2 files changed

+78
-67
lines changed

src/Test/Samples.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,8 @@ extern std::string testDataFolder;
5151
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
5252
#include "WindowWithSeparatedDeclarativeAndWebViewsTest.h"
5353
#endif //QT_VERSION
54-
#endif //WD_ENABLE_WEB_VIEW
54+
#endif //WD_ENABLE_WEB_VIEW
55+
56+
int wd_samples_setup(webdriver::ViewCreator* widgetCreator,
57+
webdriver::ViewCreator* webCreator,
58+
webdriver::ViewCreator* qmlCreator);

src/Test/Setup.cc

Lines changed: 73 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -40,42 +40,17 @@ int wd_setup(int argc, char *argv[])
4040

4141
/* Configure widget views */
4242
webdriver::ViewCreator* widgetCreator = new webdriver::QWidgetViewCreator();
43-
43+
webdriver::ViewCreator* webCreator = NULL;
44+
webdriver::ViewCreator* qmlCreator = NULL;
4445
/*
4546
Register view classes (here some test classes) that can be created by WebDriver.
4647
Creation can be triggered by client side request like wd.get("qtwidget://WindowTestWidget");
4748
*/
4849
widgetCreator->RegisterViewClass<QWidget>("QWidget");
49-
#ifndef QT_NO_SAMPLES
50-
widgetCreator->RegisterViewClass<WindowTestWidget>("WindowTestWidget");
51-
widgetCreator->RegisterViewClass<ClickTestWidget>("ClickTestWidget");
52-
widgetCreator->RegisterViewClass<ElementAttributeTestWidget>("ElementAttributeTestWidget");
53-
widgetCreator->RegisterViewClass<FindingTestWidget>("FindingTestWidget");
54-
widgetCreator->RegisterViewClass<CoordinatesTestWidget>("CoordinatesTestWidget");
55-
widgetCreator->RegisterViewClass<ClickScrollingTestWidget>("ClickScrollingTestWidget");
56-
widgetCreator->RegisterViewClass<ElementSelectingTestWidget>("ElementSelectingTestWidget");
57-
widgetCreator->RegisterViewClass<TypingTestWidget>("TypingTestWidget");
58-
widgetCreator->RegisterViewClass<BasicKeyboardInterfaceTestWidget>("BasicKeyboardInterfaceTestWidget");
59-
widgetCreator->RegisterViewClass<TextHandlingTestWidget>("TextHandlingTestWidget");
60-
widgetCreator->RegisterViewClass<FormHandlingTestWidget>("FormHandlingTestWidget");
61-
widgetCreator->RegisterViewClass<XPathElementFindingTestWidget>("XPathElementFindingTestWidget");
62-
widgetCreator->RegisterViewClass<StaleElementReferenceTestWidget>("StaleElementReferenceTestWidget");
63-
widgetCreator->RegisterViewClass<VisibilityTestWidget>("VisibilityTestWidget");
64-
widgetCreator->RegisterViewClass<BasicMouseInterfaceTestWidget>("BasicMouseInterfaceTestWidget");
65-
widgetCreator->RegisterViewClass<TouchTestWidget>("TouchTestWidget");
66-
widgetCreator->RegisterViewClass<MenuTestWidget>("MenuTestWidget");
67-
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
68-
widgetCreator->RegisterViewClass<WindowWithDeclarativeViewTestWidget>("WindowWithDeclarativeViewTestWidget");
69-
#endif
70-
71-
#if (1 == WD_ENABLE_PLAYER) && (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
72-
widgetCreator->RegisterViewClass<VideoTestWidget>("VideoTestWidget");
73-
#endif //WD_ENABLE_PLAYER
74-
#endif // QT_NO_SAMPLES
75-
50+
7651
#if (WD_ENABLE_WEB_VIEW == 1)
7752
/* Configure web views */
78-
webdriver::ViewCreator* webCreator = new webdriver::QWebViewCreator();
53+
webCreator = new webdriver::QWebViewCreator();
7954
webCreator->RegisterViewClass<QWebViewExt>("QWebViewExt");
8055
webdriver::ViewFactory::GetInstance()->AddViewCreator(webCreator);
8156

@@ -85,39 +60,23 @@ int wd_setup(int argc, char *argv[])
8560

8661
/* Configure GraphicsWebView support */
8762
webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::GraphicsWebViewEnumeratorImpl());
88-
webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::GraphicsWebViewCmdExecutorCreator());
89-
90-
#ifndef QT_NO_SAMPLES
91-
/* Register som test classes */
92-
widgetCreator->RegisterViewClass<GraphicsWebViewTestWindows>("GraphicsWebViewTestWindows");
93-
widgetCreator->RegisterViewClass<WindowWithEmbeddedViewTestWidget>("WindowWithEmbeddedViewTestWidget");
94-
widgetCreator->RegisterViewClass<WidgetAndWebViewTestWindows>("WidgetAndWebViewTestWindows");
95-
96-
97-
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
98-
widgetCreator->RegisterViewClass<WindowWithSeparatedDeclarativeAndWebViewsTestWidget>("WindowWithSeparatedDeclarativeAndWebViewsTestWidget");
99-
#endif // QT_VERSION
100-
#endif // QT_NO_SAMPLES
63+
webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::GraphicsWebViewCmdExecutorCreator());
10164
#endif // WD_ENABLE_WEB_VIEW
10265

10366
#ifndef QT_NO_QML
10467
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
10568
// Quick2 extension
106-
webdriver::ViewCreator* qmlCreator = new webdriver::Quick2ViewCreator();
69+
qmlCreator = new webdriver::Quick2ViewCreator();
10770
qmlCreator->RegisterViewClass<QQuickView>("QQuickView");
10871
webdriver::ViewFactory::GetInstance()->AddViewCreator(qmlCreator);
109-
11072
webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::Quick2ViewEnumeratorImpl());
111-
11273
webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::Quick2ViewCmdExecutorCreator());
11374
#else
11475
// Quick1 extension
115-
webdriver::ViewCreator* qmlCreator = new webdriver::QQmlViewCreator();
76+
qmlCreator = new webdriver::QQmlViewCreator();
11677
qmlCreator->RegisterViewClass<QDeclarativeView>("QDeclarativeView");
11778
webdriver::ViewFactory::GetInstance()->AddViewCreator(qmlCreator);
118-
11979
webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::QmlViewEnumeratorImpl());
120-
12180
webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::QQmlViewCmdExecutorCreator());
12281

12382
#if (WD_ENABLE_WEB_VIEW == 1)
@@ -126,17 +85,13 @@ int wd_setup(int argc, char *argv[])
12685
qmlRegisterType<QDeclarativeWebView>("CiscoQtWebKit", 1, 1, "CiscoWebView");
12786
qmlRegisterRevision<QDeclarativeWebView, 0>("CiscoQtWebKit", 1, 0);
12887
qmlRegisterRevision<QDeclarativeWebView, 1>("CiscoQtWebKit", 1, 1);
129-
//webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::QmlWebViewEnumeratorImpl());
130-
//webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::QmlWebViewCmdExecutorCreator());
13188
#endif
13289

13390
#endif
13491
#endif //QT_NO_QML
13592
/* Add widget creator last so that it deos not conflict with webview creator (QWebView is a subclass of QWidget)*/
13693
webdriver::ViewFactory::GetInstance()->AddViewCreator(widgetCreator);
137-
13894
webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::WidgetViewEnumeratorImpl());
139-
14095
webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::QWidgetViewCmdExecutorCreator());
14196

14297
CommandLine cmd_line(CommandLine::NO_PROGRAM);
@@ -147,18 +102,7 @@ int wd_setup(int argc, char *argv[])
147102
#endif
148103

149104
#ifndef QT_NO_SAMPLES
150-
#if (1 == WD_ENABLE_PLAYER) && (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
151-
// check if --test_data_folder CL argument is present
152-
std::string testDataFolderSwitch = "test_data_folder";
153-
154-
if (cmd_line.HasSwitch(testDataFolderSwitch)) {
155-
testDataFolder = cmd_line.GetSwitchValueASCII(testDataFolderSwitch);
156-
} else {
157-
testDataFolder = "./";
158-
}
159-
160-
std::cout << "Using "<< testDataFolder << " as test data folder" << std::endl;
161-
#endif // WD_ENABLE_PLAYER
105+
wd_samples_setup(widgetCreator, webCreator, qmlCreator);
162106
#endif // QT_NO_SAMPLES
163107

164108
#if defined(OS_WIN)
@@ -184,9 +128,13 @@ int wd_setup(int argc, char *argv[])
184128
wd_server->SetRouteTable(routeTableWithShutdownCommand);
185129

186130
/* Optional VNC an user input support */
131+
#ifndef QT_NO_VNC
187132
InitVNCClient();
133+
#endif // QT_NO_VNC
134+
#ifndef QT_NO_UINPUT
188135
InitUInputClient();
189-
136+
#endif // QT_NO_UINPUT
137+
190138
/* Start webdriver */
191139
int startError = wd_server->Start();
192140
if (startError){
@@ -242,4 +190,63 @@ void InitUInputClient() {
242190
}
243191
#endif // OS_LINUX
244192
}
245-
#endif // QT_NO_UINPUT
193+
#endif // QT_NO_UINPUT
194+
195+
#ifndef QT_NO_SAMPLES
196+
int wd_samples_setup(webdriver::ViewCreator* widgetCreator,
197+
webdriver::ViewCreator* webCreator,
198+
webdriver::ViewCreator* qmlCreator)
199+
{
200+
if(widgetCreator != NULL)
201+
{
202+
widgetCreator->RegisterViewClass<WindowTestWidget>("WindowTestWidget");
203+
widgetCreator->RegisterViewClass<ClickTestWidget>("ClickTestWidget");
204+
widgetCreator->RegisterViewClass<ElementAttributeTestWidget>("ElementAttributeTestWidget");
205+
widgetCreator->RegisterViewClass<FindingTestWidget>("FindingTestWidget");
206+
widgetCreator->RegisterViewClass<CoordinatesTestWidget>("CoordinatesTestWidget");
207+
widgetCreator->RegisterViewClass<ClickScrollingTestWidget>("ClickScrollingTestWidget");
208+
widgetCreator->RegisterViewClass<ElementSelectingTestWidget>("ElementSelectingTestWidget");
209+
widgetCreator->RegisterViewClass<TypingTestWidget>("TypingTestWidget");
210+
widgetCreator->RegisterViewClass<BasicKeyboardInterfaceTestWidget>("BasicKeyboardInterfaceTestWidget");
211+
widgetCreator->RegisterViewClass<TextHandlingTestWidget>("TextHandlingTestWidget");
212+
widgetCreator->RegisterViewClass<FormHandlingTestWidget>("FormHandlingTestWidget");
213+
widgetCreator->RegisterViewClass<XPathElementFindingTestWidget>("XPathElementFindingTestWidget");
214+
widgetCreator->RegisterViewClass<StaleElementReferenceTestWidget>("StaleElementReferenceTestWidget");
215+
widgetCreator->RegisterViewClass<VisibilityTestWidget>("VisibilityTestWidget");
216+
widgetCreator->RegisterViewClass<BasicMouseInterfaceTestWidget>("BasicMouseInterfaceTestWidget");
217+
widgetCreator->RegisterViewClass<TouchTestWidget>("TouchTestWidget");
218+
widgetCreator->RegisterViewClass<MenuTestWidget>("MenuTestWidget");
219+
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
220+
widgetCreator->RegisterViewClass<WindowWithDeclarativeViewTestWidget>("WindowWithDeclarativeViewTestWidget");
221+
#endif
222+
223+
#if (1 == WD_ENABLE_PLAYER) && (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
224+
widgetCreator->RegisterViewClass<VideoTestWidget>("VideoTestWidget");
225+
#endif //WD_ENABLE_PLAYER
226+
227+
#if (WD_ENABLE_WEB_VIEW == 1)
228+
/* Register som test classes */
229+
widgetCreator->RegisterViewClass<GraphicsWebViewTestWindows>("GraphicsWebViewTestWindows");
230+
widgetCreator->RegisterViewClass<WindowWithEmbeddedViewTestWidget>("WindowWithEmbeddedViewTestWidget");
231+
widgetCreator->RegisterViewClass<WidgetAndWebViewTestWindows>("WidgetAndWebViewTestWindows");
232+
233+
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
234+
widgetCreator->RegisterViewClass<WindowWithSeparatedDeclarativeAndWebViewsTestWidget>("WindowWithSeparatedDeclarativeAndWebViewsTestWidget");
235+
#endif // QT_VERSION
236+
#endif // WD_ENABLE_WEB_VIEW
237+
}
238+
#if (1 == WD_ENABLE_PLAYER) && (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
239+
// check if --test_data_folder CL argument is present
240+
std::string testDataFolderSwitch = "test_data_folder";
241+
242+
if (cmd_line.HasSwitch(testDataFolderSwitch)) {
243+
testDataFolder = cmd_line.GetSwitchValueASCII(testDataFolderSwitch);
244+
} else {
245+
testDataFolder = "./";
246+
}
247+
248+
std::cout << "Using "<< testDataFolder << " as test data folder" << std::endl;
249+
#endif // WD_ENABLE_PLAYER
250+
return 0;
251+
}
252+
#endif // QT_NO_SAMPLES

0 commit comments

Comments
 (0)