robotframework / robotframework/SeleniumLibrary
stubs are completely broken
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.5k
- Forks
- 787
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
it looks like whatever is being used to generate the stubs is completely broken. for example the type annotations in SeleniumLibrary/__init__.pyi are mostly invalid:
class SeleniumLibrary:
def __init__(self, timeout = timedelta(seconds=5.0), implicit_wait = timedelta(seconds=0.0), run_on_failure = 'Capture Page Screenshot', screenshot_root_directory: Optional[Optional] = None, plugins: Optional[Optional] = None, event_firing_webdriver: Optional[Optional] = None, page_load_timeout = timedelta(seconds=300.0), action_chain_delay = timedelta(seconds=0.25)): ...
def add_cookie(self, name: str, value: str, path: Optional[Optional] = None, domain: Optional[Optional] = None, secure: Optional[Optional] = None, expiry: Optional[Optional] = None): ...
...
def click_button(self, locator: Union, modifier: Union = False): ...
def click_element(self, locator: Union, modifier: Union = False, action_chain: bool = False): ...
def click_element_at_coordinates(self, locator: Union, xoffset: int, yoffset: int): ...
def click_image(self, locator: Union, modifier: Union = False): ...
def click_link(self, locator: Union, modifier: Union = False): ...
Optional[Optional]isn't valid. the correct usage would be something likeOptional[int](thoughOptionalis deprecated in favor of the new union syntax eg.int | None)Unionis not valid as a type on its own. it should be something likeUnion[int, str](which is deprecated in favor ofint | str)- i see that
__init__.pycontains type annotations, so the generated stubs should not be needed and can probably just be deleted - a
py.typedfile is also required for type checkers to treat the package as typed
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Annotationen in SeleniumLibrary/init.py mit der generierten SeleniumLibrary/init.pyi zu vergleichen, und überprüfe anschließend, wie die Stubs erstellt und paketiert werden. Prüfe die im Issue verlinkte Typingspezifikation auf die Anforderungen für py.typed. Die Aufgabe ist abgeschlossen, wenn die verteilten Typinformationen gültig sind und Typprüfer das Paket als typisiert erkennen können, unabhängig davon, ob die Stubs korrigiert oder entfernt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- testing
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100