@@ -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