I am automating a UWP application (Windows 10) through Appium + Winapp driver.
I am using Appium inspector to spy the objects in the windows 10 app. There is no name available for the button and therefore trying to use the Xpath
/Window/Window[2]/Button[2]
I tried clicking the tap button in the Appium inspector and it is clicking on the button name.
If I use the XPath in my selenium code, like the below, it is not working:
driver.findElementByXPath("//Window[2]/Button[2]").click();
Can you please let me know why the script is not able to click the Button at the same time the Appium inspector can click it.
My environment is:
Appium version - 1.9.1
WinApp Version - 1.1
Java client - 6.1
OS - Windows 10
Related
Can Firefox on MacOS be automated using NSAccessibility APIs or XCUITest framework?
I can access only few buttons of Firefox Window. I want to perform some actions on an alert box, which is from one of the Firefox extension javascript. I have checked using Accessibility inspector as well. However VoiceOver on MacOS can access all the buttons. So I think there is possibly some way to do it.
Any help how to get this working? TIA.Please check Firefox window, which I am trying to automate, here.
I am working on a Xamarin.Mac Application. Where I want to click an image using Appium test automation.
The driver doesn't seem to be able to click on an AXImage. Is there any known workarounds for clicking on them?
Added the capabilty MobileCapabilityType.FORCE_MJSONWP as true and it worked for me. This is a work around in java client.
[W3C] Does not support sending keys to active element for Mac
We are automating our website using Appium in Mac iOS device .
when we access our application, it shows windows authentication pop up window. we used the format(https;//username:password#test.com) to handle the windows popup window in chrome and Firefox browser and it is working fine . but windows authentication popup window is appearing in safari browser. could you please let us know how we can handle windows popup window in safari browser
my system configuration
Mac OS version 10.14.5(macOS Mojave)
Appium version 1.14.2
iPhone version 12.4
What does the windows popup in Safari browser look like? If it's a standard login form with username / password inputs, you may need to locate the username / password textfield elements & call SendKeys.
I recommend using the Appium inspector to reproduce your scenario & inspect the Safari browser there.
I have faced a similar issue when handling my organization's single sign on page. After logging in & automatically closing the sign on browser page, my AppiumDriver context became stale & stopped working. so I had to call Driver.BackgroundApp(); to fix it.
If the username / password input is an 'Alert' style popup, you can refer to this forum here which has a few workarounds:
https://discuss.appium.io/t/handle-http-authentication-on-ios-safari/1480/7
Thank you so much for replying my question .
the below code is working perfectly
driver.get("https://test.com");
driver.context("NATIVE_APP");
driver.findElement(By.Xpath("uname"));
driver.findElement(By.Xpath("pwd"));
driver.findElement(By.Xpath("login"));
driver.context("WEB_VIEW");
TL;DR:
When I have an emulator open, and I try to call the browser using Appium, I get an error saying that the browser isn't callable, even though there is a browser in the device. Not sure what it's called, so I can call it in Desired Capabilities.
Long story long:
I'm new to Appium so trying to get a basic emulator session going. I'm new to Java too, but I'm not using Java here and the Appium site video didn't require Java to get a basic session going, so this isn't a "your code is rubbish" Java issue. (Video link I watched: https://youtu.be/IOSUBda2-g4, though this didnt' call a browser on the device so wasn't a helpful guide for newbies like me).
On Win10, I installed Appium Desktop for Windows (current version 1.2.0 beta).
I have Android Studio installed (v2.3.3), and an image for a Pixel device.
I open Android Studio > Tools > Android > AVD Manager > Pixel API 25 (which is set up using Android 7.1.1 and API 25) and I start the emulator.
The emulator opens, and the first thing I see is "Photos has stopped Close app" and an X. Somewhat worrying but hey, I installed the image from AVD Manager so I got what I got.
If I then go to Appium Desktop (host 0.0.0.0, port 4723) and start the server (v1.6.5), I get the console.
I click Start New Session, and the settings screen comes up.
I am on the Automatic Server tab.
I go to Saved capabilities tab.
I have these settings saved:
{
"platformName": "Android",
"deviceName": "Android Emulator",
"browserName": "Browser",
"avd": "Pixel_API_25",
"platformVersion": "7.1.1",
"": ""
}
NOTE: The last empty entry is because the delete button on Appium for the Desired Capabilities has no effect in this version of Appium Desktop.
I click "Start session" in Appium Desktop.
Since the emulator is already started, I get error "An unknown server-side error occurred while processing the command. Original error: Could not find package com.android.browser on the device"
There is a very simple browser on the Pixel phone, but I can't invoke it because I don't know what it is called. There is no Chrome or Firefox installed by default. If I go on the device I can run a Google search in this basic browser, but I don't know what it is called to try to invoke it from Appium.
I'm trying to use the guidance in https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md but I'm lost, and trying stuff with no success.
QUESTION: What is the browser called so I can invoke it?
Why am I trying to do this?
I actually wanted to invoke a basic Calculator.apk that I have locally, but that didn't work either (it never started when I specified "app": "C:\android\Calculator.apk"), so I thought I should start with a basic browser session rather than APKs.
I tried the same as above with API 26 but that didn't work either.
I haven't solved the APK invoke issue, but that's likely another issue.
Any assistance with the DCs much appreciated.
Mike
I've an iMac with OS X Yosemite v.10.10.3. I use Firefox Developer Edition 40.0a2. I've a ZTE Open C (FR version) with Firefox OS; Boot2Gecko 2.1.0.0-prerelease (B2G OS).
What I'd like to do is the following: I've a basic webpage (mostyl HTML, CSS and JS) opened in my browser on my Firefox OS phone. I'd like to get the devtools (Cmd+Shift+i) and be able to edit that webpage with my Firefox Developer Edition browser on my iMac.
I've already tried these things:
Use webIDE.
Follow this potential solution.
Connecting a Firefox OS device.
WebIDE Troubleshooting.
Comment déboguer facilement du web y compris sur tablettes et téléphones—french article.
With webIDE, I can build a new app for Firefox OS (with or without a base theme) and I can use the devtools to inspect the DOM and stuff like that. I just want to achieve the exact same thing but directly on my desktop computer.
Do you have any clue?
Feel free to ask me if you need more piece of informations. ;)
Current status
When I launch the Firefox OS browser app, I can inspect (via the devtools) the homepage (DOM stuff, etc.). But when I load another webpage (Google for example), I can't inspect the DOM. Any idea about that?
I often get this message: http://puu.sh/ir2Ju/32563e51bc.png when I switch to several apps I want to debug.
If I understand correctly, you're trying to connect the Firefox Developer Edition WebIDE on your desktop to a tab that is open on your Firefox OS phone. Something like this?
If that's right, once you connect to your phone in the WebIDE, you should see a list of open browser tabs at the bottom of the "Open App" menu, which is in the top left of the WebIDE panel.
When you connect your phone, you have to accept remote debugging.
Then on the left of the window, you should see a dropdown menu with the apps that you can debug. By default, you can only debug unprivileged applications.
Click on the app, the you want to debug and in the middle of the screen click on the "wrench". It is the button to activate debugging.
Now the complicated part. In order to debug privileged apps such as the web Browser. You have to root your phone and change some preferences. To check that you have a rooted phone. Click on the runtime menu and then runtime info.
If your adb is in root mode, then you can press the button to request higher privileges. You can also do that by hand.
There for more info:
https://developer.mozilla.org/fr/docs/Tools/WebIDE/Running_and_debugging_apps#Unrestricted_app_debugging_%28including_certified_apps.2C_main_process.2C_etc.%29
https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager#Using_the_B2G_desktop_client
Using a real device
On your computer, enter the following command in Terminal/console to enter your device's filesystem via the shell:
adb shell
Your prompt should change to root#android. Next, stop B2G running using the following command:
stop b2g
Navigate to the following directory:
cd /data/b2g/mozilla/*.default/
Here, update the prefs.js file with the following line:
echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' >> prefs.js
After you've finished editing and saving the file, start B2G again using the following command:
start b2g
Exit the android filesystem using the exit command; this will return you to your normal terminal prompt.
Next, reconnect to the App Manager and you should see certified apps appear for debugging.
When this is done, you should see the application "Browser" in the list of available apps for debugging. At the same time, you should see all other application of your phone available as debugging.