r/madeinpython 8d ago

Built a Playwright course automation agent for my own LMS sandbox

/r/Playwright/comments/1vws0ie/built_a_playwright_course_automation_agent_for_my/
1 Upvotes

2 comments sorted by

1

u/SweetOnionTea 8d ago

Interesting concept:

  1. What is the importance of the pycache files in this project? I think you might have missed adding that directory in your project structure document.
  2. What kind of branching strategy do you use when developing?
  3. It seems like your commits are very large. Are you doing a lot of squashes behind the scenes?
  4. Many comments and the instructions refer to sections in a spec, what does that refer to? I don't see any spec files in your project. It makes reading the code a little more confusing because of that.
  5. Why did you choose to omit docstrings for your private functions? It seems in the last commit you intentionally do this. Why do some public functions have docstrings and others don't? Even in the same file it's not consistent.
  6. The instructions include references to a spec as well as some design information. Is that required to know before running this? I didn't do a deeper dive, but it seems that both those parts were tacked on and aren't required to understand to use your product.
  7. Why choose Playwright over Selenium or other alternative package?
  8. The last of the 3 commits says it's fixing typos, but it seems like whole comment sections are removed. Based on the contents it sounds like those comments would have been useful.

1

u/Mindless_Shock5129 8d ago
  1. its because running the code produces it and i forgot to add gitignore, so thanks!
  2. mainly main
  3. Actually i never pushed it before i had a rough idea that it was working and once it was i pushed the whole thing. Is it a bad practice?
  4. Ah, thanks for that its a gap from my side
  5. Was because most of the stuff was earlier documented in the readme's, but I see that as a flaw from my side, will fix it
  6. No, the spec-mapping table lives in instructions.md, aimed at contributors, not first-time users
  7. real reasons: built-in auto-waiting matches the spec's verify-before-advance requirement, better selector debugging, and strict-mode locator matching and particularly this helped me some really weird bugs
  8. Same as 5

Hope this is helpful..