-
-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature request: When copying an accessibility ID that contains a newline, please use "\n" instead of the actual newline character. This will make it easier to paste the ID directly into code. #1440
Labels
enhancement
New feature or request
Comments
Could you please provide a snippet of how this particular element appears in your application XML source? (you can get the full source with the Copy XML or Download XML buttons) |
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy index="0" class="hierarchy" rotation="0" width="1008" height="2077">
<android.widget.FrameLayout index="0" package="com.example.automation_appium" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2244]" displayed="true">
<android.widget.LinearLayout index="0" package="com.example.automation_appium" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.widget.FrameLayout index="0" package="com.example.automation_appium" class="android.widget.FrameLayout" text="" resource-id="android:id/content" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.widget.FrameLayout index="0" package="com.example.automation_appium" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="true" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2190]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2042]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2042]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,2042]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1008,1860]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" content-desc="Which brand of water would you like to buy?" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[227,113][781,266]" displayed="true" />
<android.widget.EditText index="1" package="com.example.automation_appium" class="android.widget.EditText" text="" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,294][1008,802]" displayed="true" hint="Search by water name... Top Waters :">
<android.widget.HorizontalScrollView index="0" package="com.example.automation_appium" class="android.widget.HorizontalScrollView" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="true" selected="false" bounds="[67,563][941,671]" displayed="true">
<android.widget.Button index="0" package="com.example.automation_appium" class="android.widget.Button" text="" content-desc="Nestlé Pure Life" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[89,563][426,671]" displayed="true" />
<android.widget.Button index="1" package="com.example.automation_appium" class="android.widget.Button" text="" content-desc="Aquafina" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="true" bounds="[449,563][736,671]" displayed="true" />
<android.widget.Button index="2" package="com.example.automation_appium" class="android.widget.Button" text="" content-desc="Evian" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[758,563][941,671]" displayed="true" />
</android.widget.HorizontalScrollView>
</android.widget.EditText>
<android.view.View index="2" package="com.example.automation_appium" class="android.view.View" text="" content-desc="Thai Water" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[45,802][229,854]" displayed="true" />
<android.widget.HorizontalScrollView index="3" package="com.example.automation_appium" class="android.widget.HorizontalScrollView" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="true" selected="false" bounds="[11,865][997,1320]" displayed="true">
<android.widget.ImageView index="0" package="com.example.automation_appium" class="android.widget.ImageView" text="" content-desc="Crystal ฿5.33" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[11,865][522,1320]" displayed="true" />
<android.widget.ImageView index="1" package="com.example.automation_appium" class="android.widget.ImageView" text="" content-desc="Singha ฿10.00" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[522,865][997,1320]" displayed="true" />
</android.widget.HorizontalScrollView>
<android.view.View index="4" package="com.example.automation_appium" class="android.view.View" text="" content-desc="Others Water" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[45,1331][271,1383]" displayed="true" />
<android.widget.HorizontalScrollView index="5" package="com.example.automation_appium" class="android.widget.HorizontalScrollView" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="true" selected="false" bounds="[11,1394][997,1849]" displayed="true">
<android.widget.ImageView index="0" package="com.example.automation_appium" class="android.widget.ImageView" text="" content-desc="Aquafina ฿14.00" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[11,1394][522,1849]" displayed="true" />
<android.widget.ImageView index="1" package="com.example.automation_appium" class="android.widget.ImageView" text="" content-desc="Acqua Panna ฿79.00" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[522,1394][997,1849]" displayed="true" />
</android.widget.HorizontalScrollView>
</android.view.View>
</android.view.View>
</android.view.View>
</android.view.View>
<android.view.View index="1" package="com.example.automation_appium" class="android.view.View" text="" resource-id="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,2042][1008,2190]" displayed="true">
<android.view.View index="0" package="com.example.automation_appium" class="android.view.View" text="" content-desc="Dashboard Tab 1 of 3" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="true" bounds="[0,2042][336,2190]" displayed="true" />
<android.view.View index="1" package="com.example.automation_appium" class="android.view.View" text="" content-desc="Profile Tab 2 of 3" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[336,2042][672,2190]" displayed="true" />
<android.view.View index="2" package="com.example.automation_appium" class="android.view.View" text="" content-desc="Setting Tab 3 of 3" resource-id="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[672,2042][1008,2190]" displayed="true" />
</android.view.View>
</android.view.View>
</android.view.View>
</android.view.View>
</android.view.View>
</android.widget.FrameLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
<android.view.View index="2" package="com.example.automation_appium" class="android.view.View" text="" resource-id="android:id/navigationBarBackground" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,2190][1008,2244]" displayed="true" />
</android.widget.FrameLayout>
</hierarchy> |
Thanks, this confirms that there is an actual newline character in the attribute value. It should be possible to add handling for this. |
miwtoo
added a commit
to miwtoo/appium-inspector
that referenced
this issue
Apr 29, 2024
miwtoo
added a commit
to miwtoo/appium-inspector
that referenced
this issue
Apr 29, 2024
eglitise
pushed a commit
that referenced
this issue
Apr 30, 2024
* feat: ✨ support element that has newline replace to \n (#1440) * style: 🚨 fix style (#1440) * refactor: ♻️ move Regex part to more reuseable * fix: 🐛 Inspector GUI is not newline not show correctly * fix: 🔥 getback comment * fix: 🚨 fix lint * fix: 💬 no extra spacing * fix: 🗑️ remove unuse regex character * refactor: ♻️ clean unuse attributes in test * refactor: ♻️ remove more unuse in test hierarchy attributes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Current Behavior
Suggested Solution
Additional Information
When copying an accessibility ID that contains a newline, please use "\n" instead of the actual newline character. This will make it easier to paste the ID directly into code.
accessibility id :
The text was updated successfully, but these errors were encountered: