Repository navigation
Conversation
The Release workflow triggers on every push to master. On a fork that means semantic-release rewrites the version in pyproject.toml, commits the change to the default branch, tags it and then tries to publish the result to PyPI under the upstream package name. Gate the job on the repository name so forks keep a clean master. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjZRpyoEfSCLjTx5ctzQmJ
Selenium's default LocatorConverter rewrites these strategies to 'css selector'. Assert at the driver level that AppiumWebDriver (and child element lookups) keep them as-is, so removing the AppiumLocatorConverter wiring is caught. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012HCUdSWNJMojXCjBoxhg41
df25536 to
ce054d4
Compare
…-decision-qxz8p4 # Conflicts: # test/unit/webdriver/webdriver_test.py
|
No actionable comments were generated in the recent review. Summary
Merge Risk:
|
Selenium's default
LocatorConverterrewritesid,nameandclass nameintocss selector(e.g.[id="foo"]), which Appium native contexts don't support.AppiumLocatorConverterexists to prevent that, but no unit test checked the request body the driver actually sends for these strategies.This adds one parametrized test in
test/unit/webdriver/webdriver_test.pythat callsdriver.find_element(by=..., value=...)and thenelement.find_element(...), and asserts the request body is exactly{'using': by, 'value': ...}.It's a driver-level alternative to #28. Unlike #28, it also fails if the
locator_converter=AppiumLocatorConverter()wiring inwebdriver.pyis removed.Verification
python -m pytest test/unit: 201 passedlocator_converter=AppiumLocatorConverter()commented out inappium/webdriver/webdriver.py, the new test fails, as expectedruff check/ruff format --checkpass🤖 Generated with Claude Code
https://claude.ai/code/session_012HCUdSWNJMojXCjBoxhg41
Generated by Claude Code