Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build-your-own-debugger (SeleniumBase edition) #1623

Closed
mdmintz opened this issue Nov 28, 2022 · 5 comments
Closed

Build-your-own-debugger (SeleniumBase edition) #1623

mdmintz opened this issue Nov 28, 2022 · 5 comments
Assignees
Labels
dependencies This involves updating a dependency file enhancement Making things better SeleniumBase 4 SeleniumBase 4

Comments

@mdmintz
Copy link
Member

mdmintz commented Nov 28, 2022

I've been building my own debugger as an upgrade to pdb, called pdbp (Pdb+): https://github.com/mdmintz/pdbp. Originally, I tried using https://github.com/pdbpp/pdbpp, but that has bugs, and the maintainer hasn't fixed them yet. My only alternative is to build my own debugger clone if I want all my required fixes in.

The good news is that I'm already done. The whole project and upgrade took me less than a day to complete! I'm just testing the parts to make sure everything is good before I include the new Python packages as a SeleniumBase dependency. Here's what was made:

Here's what the main issue was: pdbpp has a dependency on fancycompleter, which has a Windows dependency on pyreadline (https://github.com/pyreadline/pyreadline), which has this issue: pyreadline/pyreadline#65, which leads to this error: AttributeError: module 'collections' has no attribute 'Callable'.

Here's what I did: I created pdbp with a dependency on my own library tabcompleter, which has a dependency on the improved pyreadline3 (https://github.com/pyreadline3/pyreadline3/) instead of pyreadline. Then things started working again. As a bonus, I fixed some bugs and improved on default configuration settings.

If testing goes well, the new debugger,pdbp / (Pdb+) will be included with SeleniumBase dependencies very soon.


Screenshot 2022-11-28 at 1 26 59 PM

@mdmintz
Copy link
Member Author

mdmintz commented Nov 29, 2022

@mdmintz
Copy link
Member Author

mdmintz commented Nov 29, 2022

Looking great! The new debugger is working well, and tab-autocompletion is working too!

Screenshot 2022-11-29 at 11 41 41 AM

@mdmintz
Copy link
Member Author

mdmintz commented Nov 30, 2022

https://github.com/mdmintz/pdbp/releases/tag/v1.1.0 includes some nice upgrades for the debugger.

@mdmintz
Copy link
Member Author

mdmintz commented Nov 30, 2022

Another example:

Pdb+ advanced Python console debugger

@mdmintz
Copy link
Member Author

mdmintz commented Dec 7, 2022

I made some updates to tabcompleter where I dropped the dependency on pyrepl:
https://github.com/mdmintz/tabcompleter/releases/tag/v1.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies This involves updating a dependency file enhancement Making things better SeleniumBase 4 SeleniumBase 4
Projects
None yet
Development

No branches or pull requests

1 participant