@@ -6,7 +6,10 @@ import * as frameComparerHelper from "./lib/frame-comparer";
66import { FrameComparer } from "./lib/frame-comparer" ;
77import { DeviceManager } from "./lib/device-manager" ;
88import { DeviceController } from "mobile-devices-controller" ;
9- import { logInfo , logError } from "./lib/utils" ;
9+ import { logInfo , logError , logWarn } from "./lib/utils" ;
10+ import { INsCapabilities } from "./lib/interfaces/ns-capabilities" ;
11+ import { INsCapabilitiesArgs } from "./lib/interfaces/ns-capabilities-args" ;
12+ import * as parser from "./lib/parser"
1013
1114export { AppiumDriver } from "./lib/appium-driver" ;
1215export { AppiumServer } from "./lib/appium-server" ;
@@ -21,8 +24,10 @@ export { FrameComparer } from "./lib/frame-comparer";
2124export { IRectangle } from "./lib/interfaces/rectangle" ;
2225export { IDeviceManager } from "./lib/interfaces/device-manager" ;
2326export { LogType } from "./lib/log-types" ;
27+ export { INsCapabilities } from "./lib/interfaces/ns-capabilities" ;
28+ export { INsCapabilitiesArgs } from "./lib/interfaces/ns-capabilities-args" ;
2429
25- const nsCapabilities = new NsCapabilities ( ) ;
30+ const nsCapabilities : INsCapabilities = new NsCapabilities ( { ... < INsCapabilities > parser } ) ;
2631const appiumServer = new AppiumServer ( nsCapabilities ) ;
2732let frameComparer : FrameComparer ;
2833let appiumDriver = null ;
@@ -64,7 +69,7 @@ if (nsCapabilities.startSession) {
6469}
6570
6671export async function startServer ( port ?: number , deviceManager ?: IDeviceManager ) {
67- await appiumServer . start ( port || nsCapabilities . port , deviceManager ) ;
72+ await appiumServer . start ( port , deviceManager ) ;
6873 await attachToExitProcessHoockup ( appiumServer . server , "appium" ) ;
6974}
7075
@@ -81,13 +86,18 @@ export async function stopServer() {
8186 }
8287} ;
8388
84- export async function createDriver ( ) {
89+ export async function createDriver ( args ?: INsCapabilitiesArgs ) {
90+ if ( args ) {
91+ nsCapabilities . extend ( args ) ;
92+ }
93+ const port = nsCapabilities . port || appiumServer . port ;
94+
8595 if ( nsCapabilities . attachToDebug ) {
86- appiumDriver = await AppiumDriver . createAppiumDriver ( appiumServer . port , nsCapabilities ) ;
96+ appiumDriver = await AppiumDriver . createAppiumDriver ( port , nsCapabilities ) ;
8797 return appiumDriver ;
8898 }
8999 if ( ! appiumServer . server ) {
90- throw new Error ( "Server is not available!" ) ;
100+ logWarn ( "Server is not available!" ) ;
91101 }
92102 if ( ! nsCapabilities . appiumCapsLocation ) {
93103 throw new Error ( "Provided path to appium capabilities is not correct!" ) ;
@@ -99,7 +109,7 @@ export async function createDriver() {
99109 if ( appiumDriver !== null && appiumDriver . isAlive ) {
100110 return appiumDriver ;
101111 } else if ( appiumDriver === null ) {
102- appiumDriver = await AppiumDriver . createAppiumDriver ( appiumServer . port , nsCapabilities ) ;
112+ appiumDriver = await AppiumDriver . createAppiumDriver ( port , nsCapabilities ) ;
103113 } else if ( appiumDriver !== null && ! appiumDriver . isAlive ) {
104114 await appiumDriver . init ( ) ;
105115 }
0 commit comments