Session capabilities difference than local as compare to perfecto appium capabilities - appium

I am doing android automation testing with appium using local simulator and perfecto android device
If I hit below local URL
http://localhost:4723/wd/hub/session/dd607ee0-6ba8-4d71-9459-3252d896153e
then I am getting this response https://gist.github.com/pareshgami/8434f86df2ec2e68167c097548e591ab
but when I run same thing with perfecto android and If I hit below URL I am getting complete different response from perfecto.
http://partners.perfectomobile.com/nexperience/perfectomobile/wd/hub/session/10c767b1-05d6-4a41-866e-364cacd48600
Perfecto Response Gist
https://gist.github.com/pareshgami/112dc614787f34c8ed7c50e64a2e1573

You need to set one more capability
capabilities.setCapability("enableAppiumBehavior", true);
https://developers.perfectomobile.com/display/PD/New+architecture+for+Appium+testing+on+Android+%7C+Early+access

Related

How we can launch the Chrome browser in iphone device using appium for testing

We want to write appium automation scrips for chrome browser of IOS device. currently the browser is getting launched but it does not perform any activty on the chrome browser . could you please help me to fix it.
Try using chrome bundle ID for the DesiredCapabilities (app) > com.google.chrome.ios
If you have done it already, please put here your script for better helping.

Is it possible to run a webview automation script using appium in browser stack device

I need to automate an application which consists of payment gateway which asks for card number,cvv etc..using appium.As per the requirement i need to run the script in real device and in browser stack devices.
My script is running perfectly in real devices,but not in browser stack.Can any one help me?
Have you tried executing a few tests after switching to Webview context and then performing the subsequent actions?
You can read more on the Automating Hybrid Apps in the official documentation of Appium.
You can try changing the 'browserstack.appium_version' capability in your test scripts to the different Appium versions supported on BrowserStack.

Unable to switch to WebView context on iOS Appium test (AWS Device Farm)

I'm using AWS Device farm, and I'm running an Appium Java TestNG test on an hybrid Cordova app (iOS), which contains a WebView, but when I get the available contexts, there's only "NATIVE_APP".
After some research, I've found that you have to launch ios-webkit-debug-proxy to be able to switch contexts on real devices, but I also read that it is automatically launched on AWS Device Farm iOS tests.
When I run the test, the Appium Server Output shows this:
[iOS] Attempted to get a list of webview contexts but could not connect to ios-webkit-debug-proxy. If you expect to find webviews, please ensure that the proxy is running and accessible
Is there any additional configuration needed in order to be able to switch contexts on iOS? If not, does anyone know what can be causing this issue?
Appium 1.6.3 or above is compatible with iOS 10 on device farm.
The issue you pointed out seems to be a recurring issue as noticed on the Appium forums.
The ios-webkit-debug-proxy is automatically launched on device farm.
We are currently in the process of deploying support for Hybrid apps which will enable you to run apps based on Cordova.
Right now the support is only for native apps.
Hope that helps.

IPhone real device automation environment setup

I am trying to write script using Java and Selenium. Using Appium tool for automation. I finished testing web app on simulator. I want to know if it is possible to run test script by connecting the real iPhone device to MAC through Wifi. If yes, will xcode be able to detect the device? If no, is there any software out there which can help me achieve this. I know there is option of connecting using USB but I am dealing with remote MAC machine.
Now if I am understanding your problem correctly - you want to run test on real device without physically connecting to MAC.
**Answers:**
1. There is no way, you can run test on Real Device without physically connecting it to Mac with an Xcode.
2. Xcode can't detect any iPhone via wifi.
3. There is one way to run test on iPhone without physical connection, if you want to run tests on mobile website that is Safari:
A. **ONE TIME SETUP** You need to install iWeb Driver (app) in iPhone once via Xcode. This is a deprecated way though. If you want this, I'll upload the iWeb Driver source code on github, you can download and install further.
B. Now before running test, you need to launch the iWeb Driver (app) manually on device, once you run this, it will flash an a URL on app.
C. Use this url in Remote Webdriver like:
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.PLATFORM, DesiredCapabilities.iphone());
WebDriver iphoneDriver = new RemoteWebDriver(new URL(iphoneIp), cap);
and then use this driver just like other and run your tests.

can we check internet connectivity of connected device with appium java

I am new to appium and started writing some basic scripts with java. I need a code which will check the device internet connectivity on which test going to perform.
This will be basic test before starting the actual test. Please help.
Thanks in advance.
I am not sure that you can verify the device internet connectivity directly from appium. However you can prepare small apk (I assume you use the Android device) that will verify that , see details here.
Or you may launch some browser (like Chrome) on the device and verify that the online page is received.

Resources