Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Help with Python Appium iOS Test Script for Opening Settings and Clicking Buttons

Offen
#1,168 9 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 3 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Dokumentation
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
ios, python
Bereich
mobile, testing

Rechercherichtung

Beginnen Sie mit dem verlinkten Appium Python Quickstart und dem bereitgestellten TestIOSSettings-Skript. Reproduzieren Sie anschließend den Start von Settings und die Interaktion mit Screen Time auf dem angegebenen iPhone 15 mit iOS 17.2. Als abgeschlossen gilt die Aufgabe, wenn eine zuverlässige Anleitung zum Öffnen von Settings, zur Interaktion mit seinen Steuerelementen und zur Unterscheidung zwischen dem erstmaligen Start der App und dem Verbinden mit einer bereits vorhandenen App dokumentiert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

question

Hi Appium team,

I’m trying to create a Python test script for iOS using Appium. I followed the Quickstart example for Android, but when I adapted it to an emulated iPhone device, I ran into a few issues.

Currently, I want to:

  1. Open the iOS Settings app.
  2. Click a specific button or section (e.g., "Screen Time").
  3. Assert a certain text exists.
  4. Understand how to control app launch behavior in Appium:
    4a. Start an app fresh: Launch the app as if it has never been opened before on the device (no cached state, fresh session).
    4b. Attach to an already running app: Connect to the app if it’s already running on the emulator or device, without restarting it.
import unittest
import warnings
from appium import webdriver
from appium.options.ios import XCUITestOptions
from appium.webdriver.common.appiumby import AppiumBy

options = XCUITestOptions()
options.platform_name = "iOS"
options.automation_name = "XCUITest"
options.device_name = "iPhone 15"
options.platform_version = "17.2"
options.bundle_id = "com.apple.Preferences"
options.language = "en"
options.locale = "US"
# options.device_id = "1F4F5697-3E82-4EC9-819A-9478BDE3E598"

appium_server_url = "http://127.0.0.1:4723"

class TestIOSSettings(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote(command_executor=appium_server_url, options=options)

    def tearDown(self) -> None:
        if self.driver:
            self.driver.quit()

    def test_open_screen_time(self) -> None:
        el = self.driver.find_element(AppiumBy.IOS_PREDICATE, 'label == "Screen Time"')
        el.click()

if __name__ == "__main__":
    unittest.main()

Problems I encountered:

  1. I cannot navigate into Settings reliably; nothing is happening on the emulated iPhone screen.
  2. I’m unsure how to launch an app fresh vs attach to an already running app.

Could you provide guidance on:

  • The correct way to open system apps like Settings and interact with buttons.
  • How to launch an app from scratch or attach to an existing session.

Any tips for using iOS emulators specifically with Python/Appium.

Thanks in advance!

Best regards,
Alex

Vorherrschende Sprache
Python
Sterne
1.8k
Forks
570
Ø Merge
1 T. 10 Std.
Gemergte PRs (30 T.)
24

Entwicklungsumgebung

Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus appium/python-client

Alle Issues in appium/python-client

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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