react / react/react-native

[iOS] TestID for StatusBar component is not visible

Offen
#39,382 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Component: StatusBar Needs: Triage :mag: Never gets stale Platform: iOS
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Description

After adding testID, the new name attribute does not appear on the iOS platform, thanks to which I could use this element in my e2e tests. On the Android platform, this testID is visible as a resource-id attribute.
For example, in the Button component, after adding testID, the name attribute appears on the iOS platform, and for the Android platform, testID is visible as the resource-id attribute.

A screenshot from the Appium inspector tool, where all the attributes of the hidden element are visible (missing testID for iOS platform):

Screenshot 2023-09-11 at 12 53 57

A screenshot from the Appium inspector tool, where all the attributes of the hidden element are visible (testID is visible as resource-id for the Android platform):

Screenshot 2023-09-11 at 12 55 11

React Native Version

0.72.4

Output of npx react-native info

System:
OS: macOS 13.0.1
CPU: (8) arm64 Apple M1 Pro
Memory: 223.94 MB / 32.00 GB
Shell:
version: 5.8.1
path: /bin/zsh
Binaries:
Node:
version: 18.17.0
path: ~/.nvm/versions/node/v18.17.0/bin/node
Yarn:
version: 1.22.19
path: /usr/local/bin/yarn
npm:
version: 9.6.7
path: ~/.nvm/versions/node/v18.17.0/bin/npm
Watchman:
version: 2023.07.24.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.12.1
path: /Users/elzbietaszulc/.rvm/gems/ruby-2.7.6/bin/pod
SDKs:
iOS SDK:
Platforms:

  • DriverKit 22.1
  • iOS 16.1
  • macOS 13.0
  • tvOS 16.1
  • watchOS 9.1
    Android SDK: Not Found
    IDEs:
    Android Studio: 2021.3 AI-213.7172.25.2113.9123335
    Xcode:
    version: 14.1/14B47b
    path: /usr/bin/xcodebuild
    Languages:
    Java:
    version: 17.0.8
    path: /usr/bin/javac
    Ruby:
    version: 2.7.6
    path: /Users/elzbietaszulc/.rvm/rubies/ruby-2.7.6/bin/ruby
    npmPackages:
    "@react-native-community/cli": Not Found
    react: Not Found
    react-native: Not Found
    react-native-macos: Not Found
    npmGlobalPackages:
    "react-native": Not Found
    Android:
    hermesEnabled: false
    newArchEnabled: false
    iOS:
    hermesEnabled: true
    newArchEnabled: false
Steps to reproduce
  1. Add testID="status_bar_hidden_button" to the StatusBarExample.js component (hidden element)
  2. Reload RNtester app
  3. Run the Appium Inspector tool
  4. Check if name attribute has been added for the iOS platform
Snack, screenshot, or link to a repository

A link to the StatusBar component that I defined:

https://github.com/facebook/react-native/commit/1a0aa4deccf8e4906b6cabb6ca1c256144c1905d#diff-b18fc0c0f0855b6d50574152d4c1169b6e17ca8058d1cdf6aa0ff35203b03183

A link to StatusBarExample.js where I added testID:

https://github.com/elzszulc/react-native/commit/a8e91190646ee31d925d08e9916f707530319f87#diff-2b00a1862df8983883889bfdc2e01f3ea7ca3970edab508da39c26419f9447e3

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit StatusBarExample.js und der verknüpften Änderung an der StatusBar-Komponente und stelle anschließend den Fall mit dem ausgeblendeten Element in der RNtester-App mit Appium Inspector nach. Vergleiche die iOS-Zugänglichkeitsattribute mit dem Verhalten der Android resource-id; als abgeschlossen gilt die Aufgabe, wenn testID das erwartete iOS-name-Attribut für das ausgeblendete StatusBar-Element erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ios, react-native
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.