Hey @yukonpd, you should launch the url from your test scripts, not the SafariLauncher.
If you would like to change the first launched page from the SafariLauncher, you should open it with Xcode and change the Default Value of Root.plist
Thanks @mferturk for your reply,
I launched the URL from the test scripts itself, below is the snippet:
Web driver class{
private WebDriver setMobileDriver(Map<String, String> selConfig) {
DesiredCapabilities cap = new DesiredCapabilities();
String [] appiumDeviceConfig = selConfig.get("mobileDevice").split(":");
cap.setCapability("deviceName", appiumDeviceConfig[0]);
cap.setCapability("automationName", "Appium");
cap.setCapability("platformName", "iOS");
String appiumServerHostUrl = selConfig.get("appiumServer");
URL appiumServerHost = null;
try {
appiumServerHost = new URL(appiumServerHostUrl);
} catch (MalformedURLException e) {
e.printStackTrace();
}
cap.setJavascriptEnabled(true);
System.out.println(appiumServerHostUrl);
AppiumDriver driver=new IOSDriver(appiumServerHost, cap);
try {
Thread.sleep(30000);
System.out.println("now entering url");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driver.get("https://google.com");
Just to remind the same lines work on the Simulator, I have appium 3.1.0 version under my POM.xml. Just let me know if you need more info.
Hi Friends,
My mobile application is a iOS Native app. Please go through the below steps
1. After Launching the app there is a button called Forgot Your PIN
2. When we click on Forgot Your PIN button.
3. The application will redirect to a Safari Web page where I have the below fields.
4. Mobile Number, Last Name and Data of Birth Picker.
5. I am unable to tap or select Mobile Number field by using Tap feature of Safari browser using Appium Inspector.
So please someone help me how to tap or select Mobile number field of a browser.
Hi Mukesh,
I got the same error which you were getting earlier, could you please confirm whether you got a solution for this.
info: --> POST /wd/hub/session {"desiredCapabilities":{"appium-version":"1.4.13","platformName":"iOS","deviceName":"Bin_iPhone","udid":"1f789643be7b96813c4d2ae5b037bc27cb1b4a26","bundleId":"com.binoy.safarilauncher","browserName":"safari","version":"8.4.1"}}
info: Client User-Agent string: undefined
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: [debug] The following desired capabilities were provided, but not recognized by appium. They will be passed on to any other services running on this server. : appium-version, version
error: Failed to start an Appium session, err was: Error: ENOENT, stat '/Applications/Appium.app/Contents/Resources/node_modules/appium/build/SafariLauncher/SafariLauncher.zip'
info: [debug] Configuring Safari session
info: [debug] Using local .zip from command line: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/SafariLauncher/SafariLauncher.zip
info: [debug] Copying local zip to tmp dir
info: [debug] Got configuration error, not starting session
info: [debug] Cleaning up appium session
info: [debug] Error: ENOENT, stat '/Applications/Appium.app/Contents/Resources/node_modules/appium/build/SafariLauncher/SafariLauncher.zip'
at Error (native)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: ENOENT, stat '/Applications/Appium.app/Contents/Resources/node_modules/appium/build/SafariLauncher/SafariLauncher.zip')","errno":-2,"code":"ENOENT","path":"/Applications/Appium.app/Contents/Resources/node_modules/appium/build/SafariLauncher/SafariLauncher.zip","origValue":"ENOENT, stat '/Applications/Appium.app/Contents/Resources/node_modules/appium/build/SafariLauncher/SafariLauncher.zip'"},"sessionId":null}
info: <-- POST /wd/hub/session 500 4.849 ms - 498
Thanks
Bin
Hi Everyone.
I couldn't understand setp2 , if you can explain in details. rest all i did and my Safari launcher installed on Iphone. I can load it mannualy but when i use Appium to Launch.
1. Server Run without Any Error
2. Mobile asked for Passcode
3. Once Passcode Entered nothing happen- Application Didn't open
4. Server running
5. No Java Errors
Can anyone help please what i am doing wrong.
Thanks
Great tutorial/documentation!!!
I recently tried mobile web automation on real iOS device using the following:
OS X Yosemite 10.10.5
Xcode 7.2.1
iOS Device (9.2.1)
Appium (1.4.16)
More importantly, using a free ios development provisioning profile!
See http://goo.gl/nId1rr252 for more details!
Scenario
I got Selenium server running on windows machine
Appium on mac mini with iPhone 6 Plus connected to it
Also installed SafariLauncher on device and everything seems setup with Xcode
Automation tests enabled on device
Can connect with Appium to node so connection seems fine
When i run the tests i get this errors on appium, any help?
These are the logs i get
Appium] Appium REST http interface listener started on 10.14.0.164:4723
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.5.2","revision":null}}
[HTTP] <-- GET /wd/hub/status 200 18 ms - 83
[debug] [Appium] Appium successfully registered with the grid on 10.14.0.141:4444
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.5.2","revision":null}}
[HTTP] <-- GET /wd/hub/status 200 13 ms - 83
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.5.2","revision":null}}
[HTTP] <-- GET /wd/hub/status 200 8 ms - 83
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"browser":"Safari","name":"Behat feature suite","browserName":"Safari","ignoreZoomSetting":false,"platformName":"iOS","deviceName":"dsgiPhone","version":"latest","platform":"iOS","tags":["BRNOLPT-DEV28","PHP 5.6.15"]}}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{"browser":"Safari","name":"Behat feature suite","browserName":"Safari","ignoreZoomSetting":false,"platformName":"iOS","deviceName":"dsgiPhone","v...
[Appium] Creating new IosDriver session
[Appium] Capabilities:
[Appium] browser: 'Safari'
[Appium] name: 'Behat feature suite'
[Appium] browserName: 'Safari'
[Appium] ignoreZoomSetting: false
[Appium] platformName: 'iOS'
[Appium] deviceName: 'dsgiPhone'
[Appium] version: 'latest'
[Appium] platform: 'iOS'
[Appium] tags: [ 'BRNOLPT-DEV28', 'PHP 5.6.15' ]
[Appium] platformVersion: '9.3'
[Appium] udid: 'b388ca681aec75ba40c2520949ca1df59a44334b'
[Appium] showIOSLog: true
[BaseDriver] The following capabilities were provided, but are not recognized by appium: browser, name, ignoreZoomSetting, version, platform, tags.
[BaseDriver] Session created with session id: 92e9e06e-d7aa-44f7-a907-afb6d6c37376
[debug] [iOS] Not auto-detecting udid.
[debug] [iOS] Creating iDevice object with udid b388ca681aec75ba40c2520949ca1df59a44334b
[debug] [iOS] Checking for presence of SafariLauncher at '/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app'
[debug] [iOS] SafariLauncher does not exist
[debug] [iOS] SafariLauncher not found, building...
[iOS] Cleaning SafariLauncher
[debug] [iOS] Cleaning SafariLauncher for iphoneos9.3
[iOS] Finished cleaning SafariLauncher
[iOS] Updating config for Safari Launcher
[iOS] Building SafariLauncher
[debug] [iOS] Building SafariLauncher for iphoneos9.3
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[iOS] Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65
at ChildProcess. (lib/teen_process.js:65:19)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess.handle.onexit (internal/childprocess.js:215:5)
{ [Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65]
stdout: 'Build settings from command line:\n SDKROOT = iphoneos9.3\n\nBuild settings from configuration file \'/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig\':\n BUNDLE_ID = com.bytearc.SafariLauncher\n IDENTITY_CODE = \n IDENTITY_NAME = iPhone Developer\n\n=== BUILD TARGET SafariLauncher OF PROJECT SafariLauncher WITH THE DEFAULT CONFIGURATION (Release) ===\n\nCheck dependencies\nCode Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier “com.bytearc.SafariLauncher” were found.\n\n',
stderr: '** BUILD FAILED **\n\n\nThe following build commands failed:\n\tCheck dependencies\n(1 failure)\n',
code: 65 }
[iOS] Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65
at ChildProcess. (lib/teen_process.js:65:19)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess.handle.onexit (internal/childprocess.js:215:5)
{ [Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65]
stdout: 'Build settings from command line:\n SDKROOT = iphoneos9.3\n\nBuild settings from configuration file \'/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig\':\n BUNDLE_ID = com.bytearc.SafariLauncher\n IDENTITY_CODE = \n IDENTITY_NAME = iPhone Developer\n\n=== BUILD TARGET SafariLauncher OF PROJECT SafariLauncher WITH THE DEFAULT CONFIGURATION (Release) ===\n\nCheck dependencies\nCode Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier “com.bytearc.SafariLauncher” were found.\n\n',
stderr: '** BUILD FAILED **\n\n\nThe following build commands failed:\n\tCheck dependencies\n(1 failure)\n',
code: 65 }
[iOS] Bad app: '/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app'. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name.
[MJSONWP] Encountered internal error running command: Error: Bad app: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name.
at IosDriver.configureApp$ (lib/driver.js:250:13)
at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke as _invoke
at GeneratorFunctionPrototype.prototype.(anonymous function) as throw
at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at run (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:104:47)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:115:28
at flush (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/$.microtask.js:19:5)
at combinedTickCallback (internal/process/nexttick.js:67:7)
at process.tickCallback (internal/process/nexttick.js:98:9)
[HTTP] <-- POST /wd/hub/session 500 3416 ms - 410
[MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.5.2","revision":null}}
[HTTP] <-- GET /wd/hub/status 200 843 ms - 83
any help please...fighting with this for days
these lines concern me the most
[debug] [iOS] Not auto-detecting udid.
[debug] [iOS] Creating iDevice object with udid b388ca681aec75ba40c2520949ca1df59a44334b
[debug] [iOS] Checking for presence of SafariLauncher at '/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app'
if the device is connected why trying to launch the SafariLaucher.app from my mac mini????thanks
thanks
I'm experiencing the exact same issue as pintod02 above is experiencing. Since the update to Appium 1.5.2(which ironically, states in the bugfixes that it fixes this exact issue), it seems Appium is trying to reinstall SafariLauncher, rather than use the one already installed.
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"app":"SafariLauncher","platformVersion":"9.3.2","browserName":"Safari","platformName":"iOS","udid":"341028a6bdab23e3b255d85e2303195f861b2073","deviceName":"iPhone"}}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"SafariLauncher","platformVersion":"9.3.2","browserName":"Safari","platformName":"iOS","udid":"341028a6bdab23e3b255d85e2303195f861b2073","d...
[Appium] Creating new IosDriver session
[Appium] Capabilities:
[Appium] app: 'SafariLauncher'
[Appium] platformVersion: '9.3.2'
[Appium] browserName: 'Safari'
[Appium] platformName: 'iOS'
[Appium] udid: '341028a6bdab23e3b255d85e2303195f861b2073'
[Appium] deviceName: 'iPhone'
[BaseDriver] Session created with session id: d0278bc9-9f01-4b2b-8bd5-48c6af6fb1cb
[debug] [iOS] Not auto-detecting udid.
[debug] [iOS] Creating iDevice object with udid 341028a6bdab23e3b255d85e2303195f861b2073
[debug] [iOS] Checking for presence of SafariLauncher at '/usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app'
[debug] [iOS] SafariLauncher does not exist
[debug] [iOS] SafariLauncher not found, building...
[iOS] Cleaning SafariLauncher
[debug] [iOS] Cleaning SafariLauncher for iphoneos9.3
[iOS] Finished cleaning SafariLauncher
[iOS] Updating config for Safari Launcher
[iOS] Building SafariLauncher
[debug] [iOS] Building SafariLauncher for iphoneos9.3
[iOS] Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65
at ChildProcess. (lib/teen_process.js:65:19)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
{ Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65
at ChildProcess. (lib/teen_process.js:65:19)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
stdout: 'Build settings from command line:\n SDKROOT = iphoneos9.3\n\nBuild settings[HTTP] <-- POST /wd/hub/session 500 2932 ms - 381
from configuration file \'/usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig\':\n BUNDLE_ID = com.bytearc.SafariLauncher\n IDENTITY_CODE = \n IDENTITY_NAME = iPhone Developer\n\n=== BUILD TARGET SafariLauncher OF PROJECT SafariLauncher WITH THE DEFAULT CONFIGURATION (Release) ===\n\nCheck dependencies\nCode Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier “com.bytearc.SafariLauncher” were found.\n\n',
stderr: '** BUILD FAILED **\n\n\nThe following build commands failed:\n\tCheck dependencies\n(1 failure)\n',
code: 65 }
[iOS] Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65
at ChildProcess. (lib/teen_process.js:65:19)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
{ Error: Command 'xcodebuild -sdk iphoneos9.3 -xcconfig /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig' exited with code 65
at ChildProcess. (lib/teen_process.js:65:19)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
stdout: 'Build settings from command line:\n SDKROOT = iphoneos9.3\n\nBuild settings from configuration file \'/usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/safari-launcher/build.xcconfig\':\n BUNDLE_ID = com.bytearc.SafariLauncher\n IDENTITY_CODE = \n IDENTITY_NAME = iPhone Developer\n\n=== BUILD TARGET SafariLauncher OF PROJECT SafariLauncher WITH THE DEFAULT CONFIGURATION (Release) ===\n\nCheck dependencies\nCode Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier “com.bytearc.SafariLauncher” were found.\n\n',
stderr: '** BUILD FAILED **\n\n\nThe following build commands failed:\n\tCheck dependencies\n(1 failure)\n',
code: 65 }
[iOS] Bad app: '/usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app'. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name.
[MJSONWP] Encountered internal error running command: Error: Bad app: /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/build/SafariLauncher/SafariLauncher.app. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name.
at IosDriver.configureApp$ (lib/driver.js:250:13)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke as _invoke
at GeneratorFunctionPrototype.prototype.(anonymous function) as throw
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)