Skip to content

Commit cd047af

Browse files
author
Andrii.Boichuk
committed
Merge branch 'WD_1.X_dev' of https://portal-ua.globallogic.com/git/wd into WD_1.X_dev
2 parents f570026 + 6cbf67f commit cd047af

File tree

82 files changed

+2462
-3101
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+2462
-3101
lines changed

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ else
2828
fi
2929

3030
OUT_STATIC_LIB_FILES="libchromium_base.a libWebDriver_core.a libWebDriver_extension_qt_base.a libWebDriver_extension_qt_web.a libWebDriver_extension_qt_quick.a libWebDriver_extension_qt_quick_web.a"
31-
OUT_SHARED_LIB_FILES="libchromium_base.so libWebDriver_core.so libWebDriver_extension_qt_base.so libWebDriver_extension_qt_web.so libWebDriver_extension_qt_quick.so libWebDriver_extension_qt_quick_web.so libWebDriver_noWebkit_android.so"
31+
OUT_SHARED_LIB_FILES="libchromium_base.so libWebDriver_core.so libWebDriver_extension_qt_base.so libWebDriver_extension_qt_web.so libWebDriver_extension_qt_quick.so libWebDriver_extension_qt_quick_web.so libAndroidWD_QML.so libAndroidWD_Widgets.so"
3232
OUT_BIN_FILES="WebDriver WebDriver_noWebkit WebDriver_noWebkit_sharedLibs"
3333
GYP=`which gyp`
3434

build_android.sh

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,10 @@ archs=$1
55

66
if [ -z $QT_DIR ]
77
then
8-
export QT_DIR=/opt/Qt5.1/5.1.0
8+
export QT_DIR=/opt/Qt5.2/5.2.0
99
fi
1010

11-
if [ -z $QT_DESK_DIR ]
12-
then
13-
export QT_DESK_DIR=/opt/Qt5.1/5.1.0/gcc
14-
fi
15-
16-
echo "####################### Build androiddeployqt #######################"
17-
export QT_DESK_QMAKE=$QT_DESK_DIR/bin/qmake
18-
export ANDROID_DEPLOY_QT_PATH=./platform/android/androiddeployqt
19-
20-
cd $ANDROID_DEPLOY_QT_PATH
21-
$QT_DESK_QMAKE androiddeployqt.pro -r -spec linux-g++
22-
make
23-
RETVAL=$?
24-
if [ $RETVAL -ne 0 ];
25-
then
26-
echo "####################### Build androiddeployqt failed !!! #######################"
27-
exit $RETVAL
28-
fi
29-
cd -
30-
31-
export ANDROID_DEPLOY_QT=$ANDROID_DEPLOY_QT_PATH/androiddeployqt
11+
export QT_VERSION=5.2.0
3212
export ANDROID_PACKAGE=org.webdriver.qt
3313
export ANDROID_JAVA=`pwd`/platform/android/java/
3414
export ANDROID_APP_NAME=AndroidWD
@@ -91,6 +71,8 @@ do
9171
export LINK=$BIN/$ANDROID_TOOL_PREFIX-g++
9272
export AR=$BIN/$ANDROID_TOOL_PREFIX-ar
9373

74+
export ANDROID_DEPLOY_QT=$QT_DIR/android_$arch/bin/androiddeployqt
75+
9476

9577
export GYP_DEFINES="OS=android"
9678

@@ -115,35 +97,59 @@ fi
11597
fi
11698

11799
dist_dir=`pwd`/out/bin/$platform/$mode
118-
export BINARY_PATH=$dist_dir/libWebDriver_noWebkit_android.so
100+
export BINARY_PATH_WIDGETS=$dist_dir/libAndroidWD_Widgets.so
101+
export BINARY_PATH_QML=$dist_dir/libAndroidWD_QML.so
119102

120103
#clean android directory
121104
rm -rf $dist_dir/android
122105

123106

124107
echo "####################### Create apk "$arch" "$mode" #######################"
125108
mkdir -p $dist_dir/android/libs/$ANDROID_LIB_ARCH
126-
cp $BINARY_PATH $dist_dir/android/libs/$ANDROID_LIB_ARCH
127-
128-
export ANDROID_JSON_CONFIG=$dist_dir/android/android_config.json
129-
python generate_android_json.py
109+
cp $BINARY_PATH_WIDGETS $dist_dir/android/libs/$ANDROID_LIB_ARCH
130110

131111
if [ $mode = "release" ]
132112
then
133113
export RELEASE_ARG="--sign "$KEY_STORE" "$ALIAS" --storepass "$PASSWORD
134114
echo $RELEASE_ARG
135115
fi
136116

117+
export ANDROID_JSON_CONFIG=$dist_dir/android/android_config.json
118+
119+
120+
echo "####################### Widgets #######################"
121+
export BINARY_PATH=$BINARY_PATH_WIDGETS
122+
python generate_android_json.py
123+
124+
$ANDROID_DEPLOY_QT --output $dist_dir/android --input $ANDROID_JSON_CONFIG --verbose $MINISTRO $RELEASE_ARG
125+
RETVAL=$?
126+
if [ $RETVAL -ne 0 ];
127+
then
128+
echo "####################### androiddeployqt widgets error!!! #######################"
129+
echo $RETVAL
130+
exit $RETVAL
131+
fi
132+
133+
cp $dist_dir/android/bin/QtApp-release.apk $dist_dir/AndroidWD_Widgets.apk
134+
rm -rf $dist_dir/android
135+
136+
137+
echo "####################### QML #######################"
138+
mkdir -p $dist_dir/android/libs/$ANDROID_LIB_ARCH
139+
cp $BINARY_PATH_QML $dist_dir/android/libs/$ANDROID_LIB_ARCH
140+
export BINARY_PATH=$BINARY_PATH_QML
141+
python generate_android_json.py
142+
137143
$ANDROID_DEPLOY_QT --output $dist_dir/android --input $ANDROID_JSON_CONFIG --verbose $MINISTRO $RELEASE_ARG
138144
RETVAL=$?
139145
if [ $RETVAL -ne 0 ];
140146
then
141-
echo "####################### androiddeployqt error!!! #######################"
147+
echo "####################### androiddeployqt qml error!!! #######################"
142148
echo $RETVAL
143149
exit $RETVAL
144150
fi
145151

146-
cp $dist_dir/android/bin/QtApp-release.apk $dist_dir/AndroidWD.apk
152+
cp $dist_dir/android/bin/QtApp-release.apk $dist_dir/AndroidWD_QML.apk
147153
rm -rf $dist_dir/android
148154

149155
done

build_ios.sh

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,38 @@
33
export QT_DIR=/usr/local/opt/qt5_ios
44
export PATH=$QT_DIR/bin:$PATH
55

6+
cat > wd.gypi <<EOF
7+
{
8+
'variables':
9+
{
10+
'QT5': '1',
11+
'QT_BIN_PATH': '${QT_DIR}/bin',
12+
'QT_INC_PATH': '${QT_DIR}/include',
13+
'QT_LIB_PATH': '${QT_DIR}/lib',
14+
'WD_CONFIG_WEBKIT': '0',
15+
'WD_CONFIG_QUICK': '1',
16+
'WD_CONFIG_PLAYER': '1',
17+
'WD_BUILD_MONGOOSE': '1',
18+
},
19+
}
20+
EOF
21+
622
python generate_wdversion.py
723

824
gyp --depth . -G output_dir=. -D platform=desktop -D mode=debug -f xcode -D OS=ios --generator-output=out/ wd.gyp
925

1026
if [ "$1" == "-all" ]
1127
then
1228

13-
xcodebuild -project out/wd_test.xcodeproj -target test_ios_WD -arch i386 -sdk iphonesimulator clean build
14-
15-
cd ./platform/ios/wd
16-
qmake wd.pro -r -spec unsupported/macx-iossimulator-clang CONFIG+=x86
17-
make -release
29+
#xcodebuild -project out/wd_test.xcodeproj -target test_ios_WD -arch i386 -sdk iphonesimulator #clean build
30+
xcodebuild -project out/base.xcodeproj -target chromium_base -arch i386 -sdk iphonesimulator6.0 clean build
31+
xcodebuild -project out/wd_core.xcodeproj -target WebDriver_core -arch i386 -sdk iphonesimulator6.0 clean build
32+
xcodebuild -project out/wd_ext_qt.xcodeproj -target WebDriver_extension_qt_base -arch i386 -sdk iphonesimulator6.0 clean build
33+
xcodebuild -project out/wd_ext_qt.xcodeproj -target WebDriver_extension_qt_quick -arch i386 -sdk iphonesimulator6.0 clean build
1834

19-
cd ../wd_test
2035

21-
xcodebuild -project wd_test.xcodeproj -alltargets -arch i386 -sdk iphonesimulator -configuration Debug ONLY_ACTIVE_ARCH=NO VALID_ARCHS="armv7 i386" clean build
36+
cd ./platform/ios/wd
37+
qmake wd.pro -r -spec macx-ios-clang CONFIG+=x86 CONFIG+=iphonesimulator CONFIG+=release
38+
make
2239

2340
fi

generate_android_json.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
jsonfile.write("\"target-architecture\": \"" +os.environ['ANDROID_LIB_ARCH'] +"\",\n")
1515
jsonfile.write("\"application-binary\": \"" +os.environ['BINARY_PATH'] +"\",\n")
1616
jsonfile.write("\"android-package\": \"" +os.environ['ANDROID_PACKAGE'] +"\",\n")
17-
jsonfile.write("\"android-package-source-directory\": \"" +os.environ['ANDROID_JAVA'] +"\",\n")
17+
# jsonfile.write("\"android-package-source-directory\": \"" +os.environ['ANDROID_JAVA'] +"\",\n")
1818
jsonfile.write("\"android-app-name\": \"" +os.environ['ANDROID_APP_NAME'] +"\"\n")
1919
jsonfile.write("}")
2020
jsonfile.close()

inc/commands/set_timeout_commands.h

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ namespace webdriver {
1818

1919
class Response;
2020

21+
/// Set the amount of time that a particular type of operation can execute (/session/*/timeouts").
22+
/// Valid values are: "script" for script timeouts,
23+
/// "implicit" for modifying the implicit wait timeout
24+
/// and "page load" for setting a page load timeout.
25+
/// E.g. - {"ms": 2000, "type": "page load"}
26+
2127
class SetTimeoutCommand : public WebDriverCommand {
2228
public:
2329
SetTimeoutCommand(const std::vector<std::string>& path_segments,
@@ -26,9 +32,13 @@ class SetTimeoutCommand : public WebDriverCommand {
2632

2733
virtual bool DoesPost() const OVERRIDE;
2834
virtual void ExecutePost(Response* const response) OVERRIDE;
29-
virtual void SetTimeout(int timeout_ms) = 0;
35+
virtual Error* SetTimeout(int timeout_ms);
36+
37+
/// Amount of time of operation can execute (/session/*/timeouts") by default, in ms.
38+
static const int DEFAULT_TIMEOUT;
3039

3140
private:
41+
Error* SetTimeout(int timeout_ms, std::string type);
3242
DISALLOW_COPY_AND_ASSIGN(SetTimeoutCommand);
3343
};
3444

@@ -38,7 +48,7 @@ class SetAsyncScriptTimeoutCommand : public SetTimeoutCommand {
3848
SetAsyncScriptTimeoutCommand(const std::vector<std::string>& path_segments,
3949
const base::DictionaryValue* const parameters);
4050
virtual ~SetAsyncScriptTimeoutCommand();
41-
virtual void SetTimeout(int timeout_ms) OVERRIDE;
51+
virtual Error* SetTimeout(int timeout_ms) OVERRIDE;
4252

4353
private:
4454
DISALLOW_COPY_AND_ASSIGN(SetAsyncScriptTimeoutCommand);
@@ -50,7 +60,7 @@ class ImplicitWaitCommand : public SetTimeoutCommand {
5060
ImplicitWaitCommand(const std::vector<std::string>& path_segments,
5161
const base::DictionaryValue* const parameters);
5262
virtual ~ImplicitWaitCommand();
53-
virtual void SetTimeout(int timeout_ms) OVERRIDE;
63+
virtual Error* SetTimeout(int timeout_ms) OVERRIDE;
5464

5565
private:
5666
DISALLOW_COPY_AND_ASSIGN(ImplicitWaitCommand);

inc/extension_qt/qwebviewext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class QWebViewExt : public QWebView
1414
Q_OBJECT
1515
public:
1616
explicit QWebViewExt(QWidget *parent = 0);
17-
~QWebViewExt();
17+
virtual ~QWebViewExt();
1818

1919

2020
protected:

inc/webdriver_error.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,13 @@ enum ErrorCode {
2525
kElementNotSelectable = 15,
2626
kJavaScriptError = 17,
2727
kXPathLookupError = 19,
28+
kTimeout = 21,
2829
kNoSuchWindow = 23,
2930
kInvalidCookieDomain = 24,
3031
kUnableToSetCookie = 25,
3132
kUnexpectedAlertOpen = 26,
3233
kNoAlertOpenError = 27,
34+
kScriptTimeout = 28,
3335
kMoveTargetOutOfBounds = 34,
3436
kCommandNotSupported = 50,
3537

inc/webdriver_route_patterns.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class CommandRoutes {
2323
static const char kNewSession[];
2424
static const char kSession[];
2525
static const char kSessions[];
26+
static const char kTimeOuts[];
2627
static const char kImplicitlyWait[];
2728
static const char kSetScriptTimeout[];
2829
static const char kGetAvailableLogTypes[];

inc/webdriver_route_table.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
/// - kNewSession[] = "/session";
3838
/// - kSession[] = "/session/*";
3939
/// - kSessions[] = "/sessions";
40+
/// - kTimeOuts[] = "/session/*/timeouts";
4041
/// - kImplicitlyWait[] = "/session/*/timeouts/implicit_wait";
4142
/// - kSetScriptTimeout[] = "/session/*/timeouts/async_script";
4243
/// - kGetAvailableLogTypes[] = "/session/*/log/types";

inc/webdriver_session.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ class Session {
125125

126126
void set_current_view(const ViewId& viewId);
127127

128+
void set_page_load_timeout(int timeout_ms);
129+
int page_load_timeout() const;
130+
128131
void set_async_script_timeout(int timeout_ms);
129132
int async_script_timeout() const;
130133

@@ -240,6 +243,9 @@ class Session {
240243

241244
base::Thread thread_;
242245

246+
// Timeout (in ms) for page loads.
247+
int page_load_timeout_;
248+
243249
// Timeout (in ms) for asynchronous script execution.
244250
int async_script_timeout_;
245251

0 commit comments

Comments
 (0)