Skip to content

Commit f017948

Browse files
Merge pull request #163 from NativeScript/dtodorov/add-vue-tests
Add demo-vue tests
2 parents fce161e + 857642d commit f017948

File tree

15 files changed

+461
-68
lines changed

15 files changed

+461
-68
lines changed

.travis.yml

Lines changed: 129 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@ branches:
33
- master
44
env:
55
global:
6-
- ANDROID_PACKAGE='camera-debug.apk'
7-
- ANDROID_PACKAGE_FOLDER=$TRAVIS_BUILD_DIR/demo/platforms/android/app/build/outputs/apk/debug
8-
- ANDROID_SAUCE_STORAGE="https://saucelabs.com/rest/v1/storage/$SAUCE_USER/$ANDROID_PACKAGE?overwrite=true"
9-
- IOS_PACKAGE='camera.zip'
10-
- IOS_PACKAGE_FOLDER=$TRAVIS_BUILD_DIR/demo/platforms/ios/build/emulator
11-
- IOS_SAUCE_STORAGE="https://saucelabs.com/rest/v1/storage/$SAUCE_USER/$IOS_PACKAGE?overwrite=true"
6+
- ANDROID_PACKAGE_JS='camera-debug-js.apk'
7+
- ANDROID_PACKAGE_VUE='camera-debug-vue.apk'
8+
- ANDROID_PACKAGE_FOLDER_JS=$TRAVIS_BUILD_DIR/demo/platforms/android/app/build/outputs/apk/debug
9+
- ANDROID_PACKAGE_FOLDER_VUE=$TRAVIS_BUILD_DIR/demo-vue/platforms/android/app/build/outputs/apk/debug
10+
- ANDROID_SAUCE_STORAGE="https://saucelabs.com/rest/v1/storage/$SAUCE_USER"
11+
- IOS_PACKAGE_JS='camera-js.zip'
12+
- IOS_PACKAGE_VUE='camera-vue.zip'
13+
- IOS_PACKAGE_FOLDER_JS=$TRAVIS_BUILD_DIR/demo/platforms/ios/build/emulator
14+
- IOS_PACKAGE_FOLDER_VUE=$TRAVIS_BUILD_DIR/demo-vue/platforms/ios/build/emulator
15+
- IOS_SAUCE_STORAGE="https://saucelabs.com/rest/v1/storage/$SAUCE_USER"
1216

1317
matrix:
1418
include:
@@ -21,58 +25,157 @@ matrix:
2125
os: osx
2226
env:
2327
- WebPackiOS="12.0"
28+
- Type="VanillaJS"
2429
osx_image: xcode10.0
2530
language: node_js
2631
node_js: "8"
2732
jdk: oraclejdk8
28-
script: cd demo && npm run build.plugin && npm i && tns build ios --env.uglify && cd ../demo-angular && npm i && tns build ios --env.uglify --env.aot
33+
script:
34+
- cd demo && npm run build.plugin
35+
- npm i && tns build ios --bundle --env.uglify
36+
- os: osx
37+
env:
38+
- WebPackiOS="12.0"
39+
- Type="Angular"
40+
osx_image: xcode10.0
41+
language: node_js
42+
node_js: "8"
43+
jdk: oraclejdk8
44+
script:
45+
- cd src && npm run build && npm pack
46+
- cd ../demo-angular && tns plugin add ../src/*.tgz
47+
- npm i && tns build ios --bundle --env.uglify --env.aot
48+
- os: osx
49+
env:
50+
- WebPackiOS="12.0"
51+
- Type="VueJS"
52+
osx_image: xcode10.0
53+
language: node_js
54+
node_js: "8"
55+
jdk: oraclejdk8
56+
script:
57+
- cd src && npm run build
58+
- cd ../demo-vue && npm i && tns build ios --bundle --env.uglify
59+
- cd $IOS_PACKAGE_FOLDER_VUE && zip -r $IOS_PACKAGE_VUE demovue.app
60+
- "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $IOS_SAUCE_STORAGE/$IOS_PACKAGE_VUE?overwrite=true --data-binary @$IOS_PACKAGE_FOLDER_VUE/$IOS_PACKAGE_VUE"
2961
- language: android
3062
os: linux
3163
env:
32-
- WebPackAndroid="28"
64+
- WebpackAndroid="28"
65+
- Type="VanillaJS"
66+
jdk: oraclejdk8
67+
before_install: nvm install 8
68+
script:
69+
- cd src && npm run build
70+
- cd ../demo && npm i && tns build android --bundle --env.uglify --env.snapshot
71+
- "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $ANDROID_SAUCE_STORAGE/$ANDROID_PACKAGE_JS?overwrite=true --data-binary @$ANDROID_PACKAGE_FOLDER_JS/app-debug.apk"
72+
- language: android
73+
os: linux
74+
env:
75+
- WebpackAndroid="28"
76+
- Type="VueJS"
77+
jdk: oraclejdk8
78+
before_install: nvm install 8
79+
script:
80+
- cd src && npm run build
81+
- cd ../demo-vue && npm i && tns build android --bundle --env.uglify
82+
- "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $ANDROID_SAUCE_STORAGE/$ANDROID_PACKAGE_VUE?overwrite=true --data-binary @$ANDROID_PACKAGE_FOLDER_VUE/app-debug.apk"
83+
- language: android
84+
os: linux
85+
env:
86+
- WebpackAndroid="28"
87+
- Type="Angular"
88+
jdk: oraclejdk8
89+
before_install: nvm install 8
90+
script:
91+
- cd src && npm run build
92+
- cd ../publish && sh pack.sh
93+
- cd ../demo-angular && tns plugin add ../publish/package/*.tgz
94+
- npm i && tns build android --bundle --env.uglify --env.snapshot --env.aot
95+
- language: android
96+
env:
97+
- BuildAndroid="28"
98+
- Type="VanillaJS"
99+
os: linux
33100
jdk: oraclejdk8
34101
before_install: nvm install 8.11.4
35-
script: cd demo && npm run build.plugin && npm i && tns build android --env.uglify --env.snapshot && cd ../demo-angular && npm i && tns build android --env.uglify --env.snapshot --env.aot
36-
- env:
102+
script:
103+
- cd demo && npm run ci.android.build
104+
- language: android
105+
env:
37106
- BuildAndroid="28"
38-
language: android
107+
- Type="Angular"
39108
os: linux
40109
jdk: oraclejdk8
41110
before_install: nvm install 8.11.4
42111
script:
43-
- cd src && npm i && npm run tsc && cd ../demo && tns build android && cd ../demo-angular && tns build android
44-
- "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $ANDROID_SAUCE_STORAGE --data-binary @$ANDROID_PACKAGE_FOLDER/app-debug.apk"
112+
- cd demo-angular && npm run ci.android.build
45113
- os: osx
46-
env:
114+
env:
47115
- BuildiOS="12.0"
48116
- Xcode="10.0"
117+
- Type="VanillaJS"
49118
osx_image: xcode10.0
50-
language: node_js
119+
language: node_js
51120
node_js: "8"
52121
jdk: oraclejdk8
53-
script:
54-
- cd src && npm i && npm run tsc && cd ../demo && tns build ios && cd ../demo-angular && tns build ios
55-
- cd $IOS_PACKAGE_FOLDER && zip -r $IOS_PACKAGE demo.app
56-
- "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $IOS_SAUCE_STORAGE --data-binary @$IOS_PACKAGE_FOLDER/$IOS_PACKAGE"
122+
script:
123+
- cd demo && npm run ci.ios.build
124+
- cd $IOS_PACKAGE_FOLDER_JS && zip -r $IOS_PACKAGE_JS demo.app
125+
- "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $IOS_SAUCE_STORAGE/$IOS_PACKAGE_JS?overwrite=true --data-binary @$IOS_PACKAGE_FOLDER_JS/$IOS_PACKAGE_JS"
126+
- os: osx
127+
env:
128+
- BuildiOS="12.0"
129+
- Xcode="10.0"
130+
- Type="Angular"
131+
osx_image: xcode10.0
132+
language: node_js
133+
node_js: "8"
134+
jdk: oraclejdk8
135+
script:
136+
- cd demo-angular && npm run ci.ios.build
57137
- stage: "UI Tests"
58-
env:
59-
- Android="23"
138+
env:
139+
- Android="24"
140+
- Type="VanillaJS"
60141
language: node_js
61142
os: linux
62143
node_js: "8"
63144
script:
64145
- npm i -g appium
65146
- cd demo && npm i
66-
- travis_retry npm run e2e -- --runType android23 --sauceLab --reuseDevice --appPath $ANDROID_PACKAGE
147+
- travis_wait travis_retry npm run e2e -- --runType android23 --sauceLab --appPath $ANDROID_PACKAGE_JS
67148
- os: linux
68-
env:
69-
- iOS="10"
70-
language: node_js
149+
env:
150+
- Android="24"
151+
- Type="VueJS"
152+
language: node_js
153+
os: linux
154+
node_js: "8"
155+
script:
156+
- npm i -g appium
157+
- cd demo-vue && npm i
158+
- travis_wait travis_retry npm run e2e -- --runType android23 --sauceLab --appPath $ANDROID_PACKAGE_VUE
159+
- os: linux
160+
env:
161+
- iOS="12.0"
162+
- Type="VanillaJS"
163+
language: node_js
71164
node_js: "8"
72165
script:
73166
- npm i -g appium
74167
- cd demo && npm i
75-
- travis_wait travis_retry npm run e2e -- --runType sim.iPhone8.iOS11.2 --sauceLab --reuseDevice --appPath $IOS_PACKAGE
168+
- travis_wait travis_retry npm run e2e -- --runType sim.iPhoneX.iOS12 --sauceLab --appPath $IOS_PACKAGE_JS
169+
- os: linux
170+
env:
171+
- iOS="12.0"
172+
- Type="VueJS"
173+
language: node_js
174+
node_js: "8"
175+
script:
176+
- npm i -g appium
177+
- cd demo-vue && npm i
178+
- travis_wait travis_retry npm run e2e -- --runType sim.iPhoneX.iOS12 --sauceLab --appPath $IOS_PACKAGE_VUE
76179

77180
android:
78181
components:

demo-angular/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
},
1515
"scripts": {
1616
"build.plugin": "cd ../src && npm run build",
17-
"ci.tslint": "npm i && tslint --config '../tslint.json' 'app/**/*.ts' --exclude '**/node_modules/**'"
17+
"ci.tslint": "npm i && tslint --config '../tslint.json' 'app/**/*.ts' --exclude '**/node_modules/**'",
18+
"ci.android.build": "cd ../src && npm run build && cd ../demo-angular && tns build android",
19+
"ci.ios.build": "cd ../src && npm run build && cd ../demo-angular && tns build ios"
1820
},
1921
"dependencies": {
2022
"@angular/animations": "~7.1.0",
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
{
2+
"android19": {
3+
"platformName": "Android",
4+
"platformVersion": "4.4",
5+
"deviceName": "Emulator-Api19-Default",
6+
"avd": "Emulator-Api19-Default",
7+
"lt": 60000,
8+
"appActivity": "com.tns.NativeScriptActivity",
9+
"newCommandTimeout": 720,
10+
"noReset": true,
11+
"fullReset": false,
12+
"app": ""
13+
},
14+
"android21": {
15+
"platformName": "Android",
16+
"platformVersion": "5.0",
17+
"deviceName": "Emulator-Api21-Default",
18+
"avd": "Emulator-Api21-Default",
19+
"lt": 60000,
20+
"appActivity": "com.tns.NativeScriptActivity",
21+
"newCommandTimeout": 720,
22+
"noReset": true,
23+
"fullReset": false,
24+
"app": ""
25+
},
26+
"android23.local": {
27+
"platformName": "Android",
28+
"platformVersion": "6.0",
29+
"deviceName": "Emulator_Api23_Default",
30+
"avd": "Emulator_Api23_Default",
31+
"noReset": true
32+
},
33+
"android23": {
34+
"platformName": "Android",
35+
"platformVersion": "6.0",
36+
"deviceName": "Android Emulator",
37+
"appium-version": "1.7.1",
38+
"noReset": true
39+
},
40+
"android24": {
41+
"platformName": "Android",
42+
"platformVersion": "7.0",
43+
"deviceName": "Android GoogleAPI Emulator",
44+
"lt": 60000,
45+
"appActivity": "com.tns.NativeScriptActivity",
46+
"newCommandTimeout": 720,
47+
"noReset": true,
48+
"fullReset": false,
49+
"app": ""
50+
},
51+
"android24.sauce": {
52+
"platformName": "Android",
53+
"platformVersion": "7.0",
54+
"deviceName": "Android GoogleAPI Emulator",
55+
"lt": 60000,
56+
"newCommandTimeout": 720,
57+
"appiumVersion": "1.9.1",
58+
"noReset": true,
59+
"fullReset": false,
60+
"app": ""
61+
},
62+
"android25": {
63+
"platformName": "Android",
64+
"platformVersion": "7.1",
65+
"deviceName": "Emulator-Api25-Google",
66+
"avd": "Emulator-Api25-Google",
67+
"lt": 60000,
68+
"appActivity": "com.tns.NativeScriptActivity",
69+
"newCommandTimeout": 720,
70+
"noReset": true,
71+
"fullReset": false,
72+
"app": ""
73+
},
74+
"android26": {
75+
"platformName": "Android",
76+
"platformVersion": "8.0",
77+
"deviceName": "Emulator-Api26-Google",
78+
"avd": "Emulator-Api26-Google",
79+
"noReset": true,
80+
"fullReset": false,
81+
"app": ""
82+
},
83+
"sim.iPhone7.iOS100": {
84+
"platformName": "iOS",
85+
"platformVersion": "10.0",
86+
"deviceName": "iPhone 7 100",
87+
"noReset": true,
88+
"fullReset": false,
89+
"app": ""
90+
},
91+
"sim103iPhone6": {
92+
"browserName": "",
93+
"appiumVersion": "1.7.1",
94+
"platformName": "iOS",
95+
"platformVersion": "10.3",
96+
"deviceName": "iPhone 6",
97+
"app": ""
98+
},
99+
"sim.iPhone8.iOS110": {
100+
"platformName": "iOS",
101+
"platformVersion": "11.0",
102+
"deviceName": "iPhone 8 110",
103+
"noReset": true,
104+
"fullReset": false,
105+
"app": ""
106+
},
107+
"sim.iPhoneX.iOS110": {
108+
"platformName": "iOS",
109+
"platformVersion": "11.0",
110+
"deviceName": "iPhone X",
111+
"noReset": true,
112+
"fullReset": false,
113+
"app": ""
114+
},
115+
"sim.iPhoneX.iOS12": {
116+
"platformName": "iOS",
117+
"platformVersion": "12.0",
118+
"deviceName": "iPhone X",
119+
"noReset": true,
120+
"fullReset": false,
121+
"app": "",
122+
"density":3,
123+
"offsetPixels":87
124+
},
125+
"sim.iPhoneX.iOS12.1": {
126+
"platformName": "iOS",
127+
"platformVersion": "12.1",
128+
"deviceName": "iPhone X",
129+
"noReset": true,
130+
"fullReset": false,
131+
"app": "",
132+
"density":3,
133+
"offsetPixels":87
134+
},
135+
"sim.iPhone8.iOS11.2": {
136+
"platformName": "iOS",
137+
"platformVersion": "11.2",
138+
"deviceName": "iPhone 8",
139+
"noReset": true,
140+
"fullReset": false,
141+
"appiumVersion": "1.7.1",
142+
"app": ""
143+
}
144+
}

demo-vue/e2e/config/mocha.opts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
--timeout 800000
2+
--recursive e2e
3+
--reporter mocha-multi
4+
--reporter-options spec=-,mocha-junit-reporter=test-results.xml
Loading
Loading
Loading

demo-vue/e2e/setup.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { startServer, stopServer } from "nativescript-dev-appium";
2+
3+
before("start server", async () => {
4+
await startServer();
5+
});
6+
7+
after("stop server", async () => {
8+
await stopServer();
9+
});

0 commit comments

Comments
 (0)