Was ist passiert, warum suchst du jetzt Arbeit?
QA / QA Automation
Welche Aufgaben suchen Sie: Was möchten Sie tun und was nicht?
Warum gibt die open-Methode self zurück und wie wird sie in Tests verwendet?
Was ist Ihre Erfahrung mit SQL?
Was ist ein Tuple und welche Datentypen in Python sind veränderlich und unveränderlich?
""" self.fill_credentials(username, password) self.login_button.click() return Self.page def login_expecting_failure(self, username: str, password: str): """ Fehlgeschlagener Login. Die Aktionen sind die gleichen, aber ich gebe self zurück, weil wir bei einem Fehler auf derselben Seite bleiben. Zwei separate Methoden anstelle einer universellen sind absichtlich gemacht: damit im Test klar ist, welches Ergebnis erwartet wird. """ self.fill_credentials(username, password) self.login_button.click() return self
Wie haben Sie Automatisierung gelernt: selbstständig, durch Kurse oder dank spezieller Ausbildung?
Erzählen Sie kurz etwas über sich: Wie viel Erfahrung haben Sie, was haben Sie gemacht und was war aus Sicht der automatisierten Tests am interessantesten?
Was ist ein Page Object und warum ist es notwendig? Was passiert, wenn dieses Muster nicht verwendet wird?
Welchen Ansatz verwenden Sie bei der Lokalisierung von Findern in Playwright und warum? Was passiert mit getByLabel, wenn sich die ID des zugehörigen Feldes im HTML ändert?
def __init__(self, page) -> None: super().__init__(page) # Felder haben normale Labels, also suche ich sie so, wie ein Benutzer sie sieht, # nicht nach id oder CSS-Klasse, die ein Layout-Designer jederzeit umbenennen kann self.username_input = page.get_by_label("Username") self.password_input = page.get_by_label("Password") self.login_button = page.get_by_role("button", name="Login") # Das Formular ist notwendig, um zu überprüfen, dass wir in negativen Tests nicht navigiert haben self.login_form = page.locator("form#login") # Die Flash-Nachricht, sie ist die gleiche für Erfolg und Fehler self.flash_message = page.locator("#flash") def fill_credentials(self, username: str, password: str): self.username_input.fill(username) self.password_input.fill(password) return self def login(self, username: str, password: str) -> SecurePage: """
Was ist die Klasse BasePage und warum ist sie notwendig?
Was sind *args und **kwargs? Welche Datenstrukturen bilden sie?
Worin unterscheidet sich XPath von CSS außer der Syntax und welche Suchmethode bevorzugen Sie?
Was ist die __init__-Methode und was ist gemeint, wenn man ein Objekt erstellt?
Warum gibt die open-Methode self zurück und wie wird sie in Tests verwendet?
Was ist die __init__-Methode und warum ist sie notwendig?