1
- require ( 'yargs' ) . config ( {
2
- //runType: 'android23',
3
- appiumCapsLocation : 'appium.capabilities.json'
4
- } ) ;
5
-
6
- const { startServer, stopServer, createDriver } = require ( 'nativescript-dev-appium' ) ;
7
-
8
- const run = async ( ) => {
9
- await startServer ( ) ;
10
- const driver = await createDriver ( ) ;
11
-
12
- await [
13
- 'ActivityIndicator' ,
14
- 'Button' ,
15
- 'DatePicker' ,
16
- 'HtmlView' ,
17
- 'Image' ,
18
- 'Label' ,
19
- 'ListPicker' ,
20
- 'ListView' ,
21
- 'Progress' ,
22
- 'SearchBar' ,
23
- 'SegmentedBar' ,
24
- 'Slider' ,
25
- 'Switch' ,
26
- 'TabView' ,
27
- 'TextField' ,
28
- 'TextView' ,
29
- 'TimePicker' ,
30
- 'WebView' ,
31
- ] . forEach ( async ( component ) => {
32
- const listItem = await driver . findElementByText ( component ) ;
33
- await listItem . tap ( ) ;
34
-
35
- await driver . _driver . sleep ( 500 ) ;
36
-
37
- if ( component === 'HtmlView' || component === 'WebView' ) {
38
- await driver . _driver . sleep ( 4000 ) ;
39
- }
40
-
41
- await driver . takeScreenshot ( `screenshots/${ component } .png` ) ;
1
+ const argv = require ( 'yargs' ) . argv ;
2
+ const AppiumDriver = require ( 'nativescript-dev-appium/lib/appium-driver' ) . AppiumDriver ;
3
+ const fs = require ( 'fs' ) ;
42
4
43
- await driver . navBack ( ) ;
5
+ const components = [
6
+ 'ActivityIndicator' ,
7
+ 'Button' ,
8
+ 'DatePicker' ,
9
+ 'HtmlView' ,
10
+ 'Image' ,
11
+ 'Label' ,
12
+ 'ListPicker' ,
13
+ 'ListView' ,
14
+ 'Progress' ,
15
+ 'SearchBar' ,
16
+ 'SegmentedBar' ,
17
+ 'Slider' ,
18
+ 'Switch' ,
19
+ 'TabView' ,
20
+ 'TextField' ,
21
+ 'TextView' ,
22
+ 'TimePicker' ,
23
+ 'WebView' ,
24
+ ] ;
44
25
45
- if ( component === 'SearchBar' ) {
46
- await driver . navBack ( ) ;
47
- }
48
- } ) ;
26
+ ( async function ( ) {
27
+ AppiumDriver . createAppiumDriver ( 4723 , {
28
+ isSauceLab : argv . sauceLab || false ,
29
+ runType : argv . runType ,
30
+ appPath : argv . appPath , //'nativescriptvueuitests-debug.apk',
31
+ appiumCaps : require ( './appium.capabilities.json' ) [ argv . runType ] ,
32
+ verbose : argv . verbose || false ,
33
+ } )
34
+ . then ( driver => run ( driver ) )
35
+ . then ( ( ) => console . log ( 'Buh-Bye...' ) )
36
+ . catch ( ( err ) => console . log ( err ) ) ;
37
+ } ) ( ) ;
49
38
39
+ const run = async ( driver ) => {
40
+ for ( let component of components ) {
41
+ await screenshotComponent ( driver , component )
42
+ }
50
43
await driver . quit ( ) ;
51
- await stopServer ( ) ;
52
44
} ;
53
45
54
- run ( ) . then ( ( ) => {
55
- console . log ( 'Buh-bye...' ) ;
56
- } ) . catch ( ( err ) => {
57
- console . log ( 'Something isn\'t quite right... :(' ) ;
58
- console . error ( err ) ;
59
- } ) ;
46
+ const screenshotComponent = async ( driver , component ) => {
47
+ console . log ( `>>>>> ${ component } >>>>>` ) ;
48
+
49
+ const listItem = await driver . findElementByText ( component ) ;
50
+ await listItem . tap ( ) ;
51
+
52
+ await driver . _driver . sleep ( 500 ) ;
53
+
54
+ if ( component === 'HtmlView' || component === 'WebView' ) {
55
+ await driver . _driver . sleep ( 4000 ) ;
56
+ }
57
+
58
+ if ( ! fs . existsSync ( `screenshots/${ argv . runType } ` ) ) {
59
+ await fs . mkdir ( `screenshots/${ argv . runType } ` ) ;
60
+ }
61
+
62
+ await driver . takeScreenshot ( `screenshots/${ argv . runType } /${ component } .png` ) ;
63
+ await driver . navBack ( ) ;
64
+ if ( component === 'SearchBar' ) {
65
+ await driver . navBack ( ) ;
66
+ }
67
+ } ;
0 commit comments