Comments (13)
do you know what the name of the android widget is that corresponds to the secure textfield? like com.android.widget.xxxxx
from appium.
do you know what the name of the android widget is that corresponds to the secure textfield?
In calabash-android I do query "edittext id:'password_edit'"
For my app I have a custom class that extends EditText. Both regular textfields and secure textfields use the same widget. android:password
controls if it's used to display a password or not.
from appium.
$driver.find_elements :tag_name, :editText
finds both the secure text field and the regular text field.
from appium.
What happens if you pass in "com.yourcompany.yourapp.YourCustomWidget" as the tag name? I wonder if uiautomator can see custom controls.
from appium.
What happens if you pass in "com.yourcompany.yourapp.YourCustomWidget" as the tag name?
It doesn't find it.
Selenium::WebDriver::Error::NoSuchElementError: An element could not be located on the page using the given search parameters.
from appium.
hmm, looks like this might be a fundamental limit of the uiautomator approach. only thing i found via google is this unanswered question: http://facebook.stackoverflow.com/questions/14948341/how-to-fill-in-password-edittext-with-android-uiautomator.
alternative: select your password field by content-description (i.e., by "name") after setting one in the app.
from appium.
edittext
finds the custom widget so that works. If id selection was implemented then that'd be perfect. #228
from appium.
Back to the custom finding possibility, please check out: http://developer.android.com/tools/help/uiautomator/UiSelector.html#className(java.lang.String)
Does this spark any thought about what a different "className" could be that you could pass in as a selector? maybe not com.yourCompany.yourApp.xxx
? Is there something that's equivalent to android.widget.XXX
in your own package-space?
from appium.
We'd probably want to make an example app.
package com.my.widgets;
public class EditText extends android.widget.EditText {
I'm using the fully qualified class name com.my.widgets.EditText
so I don't think it could be anything else.
from appium.
Hmm. well the documentation doesn't say one way or another whether custom controls are findable by class in UiSelector. I guess this implies they are not! But good thing it extends EditText and so is findable. As I wrote in #228, finding by the android id doesn't seem possible. So unless you can think of anything else I'm going to close this issue. The two options are for doing what you want are:
- find the password field as a regular text field by index
- set a content-description for the password field and find by that
from appium.
I think searching for tag name secure
on Android should throw an error because it's not possible to implement using uiautomator. The current behavior implies that it searched and didn't find any.
from appium.
fixed in #234
from appium.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from appium.
Related Issues (20)
- bug: close method on Mobile Browser iPhone15/Safari does not close the browser window HOT 2
- getScreenshot failing with 500 and then everything goes into a bad state HOT 4
- appium
- [iOS-17] getScreenshot command timing out multiple times HOT 4
- help me to automate any apps(system apps or custom apps) on secondary display android HOT 1
- [Feat]: alternate sendkey strategy/ies for iOS web HOT 1
- Any plans to support appium-windows-driver for windows 11 HOT 1
- Unable to install appium drivers on windows 11 HOT 4
- ERROR webdriver: Request failed with status 500 due to unsupported operation: This API is not supported anymore. See https://github.com/appium/appium/issues/15807 HOT 4
- Getting error "WDA is not listening at 'http://127.0.0.1" HOT 14
- × Installing 'uiautomator2' using NPM install spec 'appium-uiautomator2-driver' HOT 1
- Large DOM structure takes long time and sometimes crashed appium HOT 4
- Unable to start appium session HOT 1
- Unable to start appium session using appium GUI inspector even after upgrading or installing appium v2.5 HOT 12
- Is there a way or any desired capabilities in which we can stop Appium from launching the app after installation. HOT 1
- How to get bundleId dinamically? HOT 2
- My automation tests are flaky- get alert text returns empty string sometimes HOT 7
- bug: updating appium, driver or plugin, is not synchronized in node_modules/.cache/appium/extensions.yaml HOT 6
- Issue when perform gestures on both Android and iOS HOT 3
- [Feat]: introduce getContextsWithDetails endpoint HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appium.