1919import io .appium .java_client .MobileElement ;
2020import io .appium .java_client .android .AndroidDriver ;
2121import io .appium .java_client .ios .IOSDriver ;
22- import io .appium .java_client .remote .AutomationName ;
23- import io .appium .java_client .remote .MobileCapabilityType ;
24- import io .appium .java_client .remote .MobilePlatform ;
22+ import io .appium .java_client .remote .*;
2523import io .appium .java_client .service .local .AppiumServiceBuilder ;
2624import io .appium .java_client .service .local .flags .GeneralServerFlag ;
2725import org .junit .Test ;
@@ -69,7 +67,76 @@ public void startingAndroidAppWithCapabilitiesAndServiceTest(){
6967 AppiumServiceBuilder builder = new AppiumServiceBuilder ().withArgument (GeneralServerFlag .SESSION_OVERRIDE ).
7068 withArgument (GeneralServerFlag .STRICT_CAPS );
7169
72- AndroidDriver <MobileElement > driver = new AndroidDriver <>(builder , capabilities );;
70+ AndroidDriver <MobileElement > driver = new AndroidDriver <>(builder , capabilities );
71+ try {
72+ Capabilities caps = driver .getCapabilities ();
73+
74+ assertEquals (true , caps .getCapability (MobileCapabilityType .PLATFORM_NAME ).equals (MobilePlatform .ANDROID ));
75+ assertNotEquals (null , caps .getCapability (MobileCapabilityType .DEVICE_NAME ));
76+ }
77+ finally {
78+ driver .quit ();
79+ }
80+ }
81+
82+ @ Test
83+ public void startingAndroidAppWithCapabilitiesOnServerSideTest (){
84+ File appDir = new File ("src/test/java/io/appium/java_client" );
85+ File app = new File (appDir , "ApiDemos-debug.apk" );
86+
87+ File pageFactoryDir = new File ("src/test/java/io/appium/java_client/pagefactory_tests" );
88+ File chrome = new File (pageFactoryDir , "chromedriver.exe" );
89+
90+ DesiredCapabilities serverCapabilities = new DesiredCapabilities ();
91+ serverCapabilities .setCapability (MobileCapabilityType .PLATFORM_NAME , "Android" );
92+ serverCapabilities .setCapability (MobileCapabilityType .DEVICE_NAME , "Android Emulator" );
93+ serverCapabilities .setCapability (MobileCapabilityType .FULL_RESET , true );
94+ serverCapabilities .setCapability (MobileCapabilityType .NEW_COMMAND_TIMEOUT , 60 );
95+ serverCapabilities .setCapability (MobileCapabilityType .APP , app .getAbsolutePath ());
96+ serverCapabilities .setCapability (AndroidMobileCapabilityType .CHROMEDRIVER_EXECUTABLE , chrome .getAbsolutePath ());
97+
98+ AppiumServiceBuilder builder = new AppiumServiceBuilder ().withCapabilities (serverCapabilities );
99+
100+ DesiredCapabilities clientCapabilities = new DesiredCapabilities ();
101+ clientCapabilities .setCapability (AndroidMobileCapabilityType .APP_PACKAGE , "io.appium.android.apis" );
102+ clientCapabilities .setCapability (AndroidMobileCapabilityType .APP_ACTIVITY , ".view.WebView1" );
103+
104+ AndroidDriver <MobileElement > driver = new AndroidDriver <>(builder , clientCapabilities );
105+ try {
106+ Capabilities caps = driver .getCapabilities ();
107+
108+ assertEquals (true , caps .getCapability (MobileCapabilityType .PLATFORM_NAME ).equals (MobilePlatform .ANDROID ));
109+ assertNotEquals (null , caps .getCapability (MobileCapabilityType .DEVICE_NAME ));
110+ }
111+ finally {
112+ driver .quit ();
113+ }
114+ }
115+
116+ @ Test
117+ public void startingAndroidAppWithCapabilitiesAndFlagsOnServerSideTest (){
118+ File appDir = new File ("src/test/java/io/appium/java_client" );
119+ File app = new File (appDir , "ApiDemos-debug.apk" );
120+
121+ File pageFactoryDir = new File ("src/test/java/io/appium/java_client/pagefactory_tests" );
122+ File chrome = new File (pageFactoryDir , "chromedriver.exe" );
123+
124+ DesiredCapabilities serverCapabilities = new DesiredCapabilities ();
125+ serverCapabilities .setCapability (MobileCapabilityType .PLATFORM_NAME , "Android" );
126+ serverCapabilities .setCapability (MobileCapabilityType .DEVICE_NAME , "Android Emulator" );
127+ serverCapabilities .setCapability (MobileCapabilityType .FULL_RESET , true );
128+ serverCapabilities .setCapability (MobileCapabilityType .NEW_COMMAND_TIMEOUT , 60 );
129+ serverCapabilities .setCapability (MobileCapabilityType .APP , app .getAbsolutePath ());
130+ serverCapabilities .setCapability (AndroidMobileCapabilityType .CHROMEDRIVER_EXECUTABLE , chrome .getAbsolutePath ());
131+
132+ AppiumServiceBuilder builder = new AppiumServiceBuilder ().withArgument (GeneralServerFlag .SESSION_OVERRIDE ).
133+ withArgument (GeneralServerFlag .STRICT_CAPS ).withCapabilities (serverCapabilities );
134+
135+ DesiredCapabilities clientCapabilities = new DesiredCapabilities ();
136+ clientCapabilities .setCapability (AndroidMobileCapabilityType .APP_PACKAGE , "io.appium.android.apis" );
137+ clientCapabilities .setCapability (AndroidMobileCapabilityType .APP_ACTIVITY , ".view.WebView1" );
138+
139+ AndroidDriver <MobileElement > driver = new AndroidDriver <>(builder , clientCapabilities );
73140 try {
74141 Capabilities caps = driver .getCapabilities ();
75142
@@ -122,7 +189,34 @@ public void startingIOSAppWithCapabilitiesAndServiseTest(){
122189 AppiumServiceBuilder builder = new AppiumServiceBuilder ().withArgument (GeneralServerFlag .SESSION_OVERRIDE ).
123190 withArgument (GeneralServerFlag .STRICT_CAPS );
124191
125- IOSDriver <MobileElement > driver = new IOSDriver <>(builder , capabilities );;
192+ IOSDriver <MobileElement > driver = new IOSDriver <>(builder , capabilities );
193+ try {
194+ Capabilities caps = driver .getCapabilities ();
195+ assertEquals (true , caps .getCapability (MobileCapabilityType .PLATFORM_NAME ).equals (MobilePlatform .IOS ));
196+ assertNotEquals (null , caps .getCapability (MobileCapabilityType .DEVICE_NAME ));
197+ }
198+ finally {
199+ driver .quit ();
200+ }
201+ }
202+
203+ @ Test
204+ public void startingIOSAppWithCapabilitiesOnServerSideTest (){
205+ File appDir = new File ("src/test/java/io/appium/java_client" );
206+ File app = new File (appDir , "UICatalog.app.zip" );
207+
208+ DesiredCapabilities serverCapabilities = new DesiredCapabilities ();
209+ serverCapabilities .setCapability (MobileCapabilityType .DEVICE_NAME , "iPhone Simulator" );
210+ serverCapabilities .setCapability (IOSMobileCapabilityType .LAUNCH_TIMEOUT , 500000 ); //some environment is too slow
211+ serverCapabilities .setCapability (MobileCapabilityType .PLATFORM_VERSION , "8.4" );
212+
213+
214+ DesiredCapabilities clientCapabilities = new DesiredCapabilities ();
215+ clientCapabilities .setCapability (MobileCapabilityType .APP , app .getAbsolutePath ());
216+
217+ AppiumServiceBuilder builder = new AppiumServiceBuilder ().withCapabilities (serverCapabilities );
218+
219+ IOSDriver <MobileElement > driver = new IOSDriver <>(builder , clientCapabilities );;
126220 try {
127221 Capabilities caps = driver .getCapabilities ();
128222 assertEquals (true , caps .getCapability (MobileCapabilityType .PLATFORM_NAME ).equals (MobilePlatform .IOS ));
@@ -133,4 +227,31 @@ public void startingIOSAppWithCapabilitiesAndServiseTest(){
133227 }
134228 }
135229
230+ @ Test
231+ public void startingIOSAppWithCapabilitiesAndFlagsOnServerSideTest (){
232+ File appDir = new File ("src/test/java/io/appium/java_client" );
233+ File app = new File (appDir , "UICatalog.app.zip" );
234+
235+ DesiredCapabilities serverCapabilities = new DesiredCapabilities ();
236+ serverCapabilities .setCapability (MobileCapabilityType .DEVICE_NAME , "iPhone Simulator" );
237+ serverCapabilities .setCapability (IOSMobileCapabilityType .LAUNCH_TIMEOUT , 500000 ); //some environment is too slow
238+ serverCapabilities .setCapability (MobileCapabilityType .PLATFORM_VERSION , "8.4" );
239+
240+
241+ DesiredCapabilities clientCapabilities = new DesiredCapabilities ();
242+ clientCapabilities .setCapability (MobileCapabilityType .APP , app .getAbsolutePath ());
243+
244+ AppiumServiceBuilder builder = new AppiumServiceBuilder ().withArgument (GeneralServerFlag .SESSION_OVERRIDE ).
245+ withArgument (GeneralServerFlag .STRICT_CAPS ).withCapabilities (serverCapabilities );
246+
247+ IOSDriver <MobileElement > driver = new IOSDriver <>(builder , clientCapabilities );;
248+ try {
249+ Capabilities caps = driver .getCapabilities ();
250+ assertEquals (true , caps .getCapability (MobileCapabilityType .PLATFORM_NAME ).equals (MobilePlatform .IOS ));
251+ assertNotEquals (null , caps .getCapability (MobileCapabilityType .DEVICE_NAME ));
252+ }
253+ finally {
254+ driver .quit ();
255+ }
256+ }
136257}
0 commit comments