@1113 I tried doing that also, but no luck so far
Hi Suraj,
Launch the safari browser in mac PC in menu you should have Develop options.
Click on the Develop option in that list it should list the your device.
Select your device -> web page. (it show's only if web page is open in phone). you will able to locate the web elements.
If you don’t see the Develop menu in the menu bar, choose Safari >
Preferences, click Advanced, then select “Show Develop menu in menu bar.”
Look for how to switch the webview and you need to run the ios_webkit_debug_proxy.
Hope this will help you.
Regards
Naresh
Hi Naresh,
I did all these above steps but no help.
After setting the capabilities and launching the app I am not able to see index.html page in my safari if I use autoWebView, true in my capability
I am getting strange behaviour, If I am not using autowebview and then lauching the app then I am able to see index.html page. I suppose Appium is considering and taking my app as native app.
I even double checked this using
driver.Context="NATIVE_APP"; // index.html visible
driver.Context="WEBVIEW_1"; //index.html becomes disabled and not able to click on that
Even checked through localhost:27753 and the same behaviour.
When I force appium to switch context to webview and then click it just passes that step without doing any event(click/sendkeys)
and in native view it was showing error:
info: atom did not return yet, checking to see if we are blocked by an alert
info: Pushing command to appium work queue: "au.alertIsPresent()"
and it returns 8 commands found au.alertIsPresent()
For hybrid app do I need to add browserName capabilities
I am using
capabilities.SetCapability ("appium-version", "1.4.13");
capabilities.SetCapability ("platformName", "iOS");
Am I using correct capabilities??
In addition to above two capabilities I am using below once also
capabilities.SetCapability("autoWebview", "true"); // should I define true as boolean or string(in quotes)
capabilities.SetCapability ("platformVersion", "9.3");
capabilities.SetCapability("deviceName", "iPad Air");
capabilities.SetCapability("app", "");
capabilities.SetCapability("udid", "");
capabilities.SetCapability ("appium-version", "1.4.13");
capabilities.SetCapability ("platformName", "iOS");
capabilities.SetCapability("autoWebview", "true"); // should I define true as boolean or string(in quotes)
capabilities.SetCapability ("platformVersion", "9.3");
capabilities.SetCapability("deviceName", "iPad Air");
capabilities.SetCapability("app", "");
capabilities.SetCapability("udid", "");
I was finding the solution and came across some articles where protractor + APpium is used for automation of ionic app.
Mine is also same. Can't we automate ionic app only using Appium.
Is it possible that Appium is not able to identify Ionic html tags??
Hope you are using the hybrid app ? try adding this cap.
capabilities.setCapability("appPackage", "xxxxxxxxxxxxxx");
capabilities.setCapability("automationName","Appium");
What is the advantage of having private obj ?
private IOSDriver driver = null;
private DesiredCapabilities capabilities = new DesiredCapabilities();
I read and found appPackage is required only for Android on link26. If you have any other reference, please do share.
@dhanu1 kindly ellaborate… what is xpath/environment/capabilities … This would help to resolve ur issue
I face the same problem … I’m using ruby.
I have a popup that can not click at all. Application developed in IONIC (latest version).
My ENV.RB is like this … I’ve tried several ways
Before do
def caps
{
caps: {
deviceName: ‘0029179798’, # ‘emulator-5554’ Motorola Moto Z Play
platformName: ‘Android’,
#apk: (File.join(File.dirname(FILE), ‘app-intelbras.apk’)),
appPackage: ‘io.ionic.starter’, #com.ioasys.appprova / io.ionic.starter
appActivity: ‘io.ionic.starter.MainActivity’, #com.appprova.core.activity.OnBoardingActivity" / io.ionic.starter.MainActivity
newCommandTimeout: ‘3600’,
platformVersion: ‘8.0.0’, #'8.1.0’
appiumVersion: ‘1.8.1’,
deviceOrientation: ‘landscape’, #portrait
autoWebview: true,
# chromedriverExecutable: ‘C:/projetos/desenvolvimento/tools/drivers/chromedriver_2.41/chromedriver.exe’,
androidScreenshotPath: ‘results/screenshots’,
nativeWebScreenshot: true,
# chromedriverUseSystemExecutable: false,
autoGrantPermissions: true,
browserName: ‘’ #Deve usar uma string vazia se estiver automatizando um aplicativo
},
appium_lib: { server_url:SERVER_URL, port:PORT }
}
end
end
Hi all,
I am also facing the same issue. Unable to switch to Webview from Native app in IOS. Scroll in IOS also not working.
Doing IOS automation with xFramium tool+Appium+IOS.
{
“deviceName”: “iphone X”,
“udid”: “**",
“platformName”: “IOS”,
“platformVersion”: “11.4”,
“bundleId”: "”,
“automationName”: “XCUITest”
“browserName”: “Safari”,
“startIWDP”: “true”,
“autoWebview”: “true”,
“absoluteWebLocations”: “true”
}
xFramium-Appium capabilities
iphone X IOS false<!-- DEVRY MOBILE APP -->
<capability name=“appPackage” class="STRING”>
<capability name=“bundleId” class="STRING”>*
true
false
Could anyone help out from this issue.
Thanks
Hi All, did anyone get the solution for the above issue? I have everything latest in place. Appium, ios_webkit_debug_proxy, appium drivers, etc. After I start ios_webkit_debug_proxy, am able to see the device in the session list and if I try to open the app, I am not able to see the webview part in the session to inspect. Instead I am seeing the elements as XCUITestInputField, XCUITestInputSecureField (for password), etc. Is this the expected behaviour or will I be able to see the html part of the code? Please help me to solve this issue, if I am really missing anything important.
here’s my capabilities
IOSDriver driver;
DesiredCapabilities caps = new DesiredCapabilities();
caps.SetCapabilitiy(“app”, appPath);
caps.SetCapabilitiy(“bundleid”, “com..*”);
caps.SetCapability(“autoWebView”, “true”);
caps.SetCapability(“browserName”, “iOS”);
caps.SetCapability (“platformVersion”, Constants.PlatformVersion);
caps.SetCapability(“deviceName”, deviceName);
caps.SetCapability(“startIWDP”,true);
driver = new IOSDriver(new URL(“http://127.0.0.1:4723/wd/hub”),caps, TimeUnit.FromSeconds(10000));
In the appium log I am able to see only NATIVE_APP Context but not the WEBVIEW. Please help.