Skip to content

Latest commit

 

History

History
105 lines (99 loc) · 3.77 KB

TODO.md

File metadata and controls

105 lines (99 loc) · 3.77 KB

High priority

  1. Support screenshots comparison
  2. Keyboard interrupt kills webdriver. Why?
  3. Perhaps we should kill the testrunner too?
  4. Xpath: Passing web browser Using scrapy's hxs selector Using scrapy's shell directly Doing selections both, in scrapy and in webdriver
  5. check /ticket/15403 i. specify screenshot format function i. specify screenshot dir (by command line?)
  6. fix current_path() to get all data
  7. Rename WebdriverUtils to SmoothTestBrowser
  8. Extract xpath from WebdriverUtils.py into XpathWebdriver
  9. Extract also screenshots?
  10. Identify child process i. return both to main at fork Main<-Master<-Slave i. keep track of them from main i. on every test? main->master? master->slave? if there is an IO error on PIPEs, then check pids (NOT READY) i. kill processes if still running when exiting. DONE!
  11. Check Firefox and Xvfb processes i. get pid from Xvfb i. get pid from firefox/etc i. print warning if they keep running on exit i. kill if not kept
  12. Multiplatform -> pickable fork callbacks (VERY HARD TO IMPLEMENT?)
  13. Take screenshots

TODO tests

  1. test screenshots on test reports (w/wo)
  2. test API with selenium
  3. I will ignore autotest for a while, since many tools already do the same

TODO

  1. add support for .cfg configs

    1. passing config by command line?
  2. Rename smoke to dry-run

  3. add extensions i. has init/shutdown on the three levels (ui, main, test runner) i. an example extension would be webdriver (init and shutdown) i. virtualdisplay is another example i. adds ipython extensions i. enable extensions by configuration

  4. replace stdout stderr for StringIO and read it from outside

  5. split Interactive Main from non interactive Main (MainBase and Main)

  6. create serious tests? have a project touch a file copy a file to a tested module tested with except error failure ok -> writes result to file test smoke test browsers? open them and check UA?

  7. phantomjs wait condition to be True does not work

  8. passing arguments to a initialization module which will be ran on TestRunner (before or after forking (DO API))

    1. make testrunner with webdriver optional (pass testrunner module optionally ?) or perhaps optionally create your own command?
  9. enable remote post-mortem debugging

  10. better logging messages

    1. set log level per process
  11. re-enable screenshots on exceptions (only on test methods)

  12. make callbacks pickable in order to work with windows

  13. browser pool

  14. handle KeyboardInterrupt

  15. Better test case module resolution

  16. create smoothtest command i. autotest passing parameters or .cfg or .py i. create settings

  17. Use ipdb to to step by step testing i. Use step back feature, s.step -1

  18. Detect CTRL+C and other...

  19. Forward output messages to a specific process, so we can visualize in Eclipse (use openfd from a pipe?)

  20. Restart closed webdriver?

  21. Use specific profile for webdriver?

  22. Detect "unable to connect" pages before selecting xpath?

  23. Create better command line in ipython (selecting tests, exposing options, selecting browser, sending code)

  24. Reset sessions, cache and cookies from running selenium instances

  25. Having a pool of webdrivers

  26. Having an eternal pool of webdrivers (in main process) to speed up testing

  27. Play a sound on success/failure i. say "3" failed "4" Passed import pyttsx engine = pyttsx.init() engine.say('3 Failed, 4 Passed.') engine.runAndWait()

  28. Enable remote messages (to enable shortcuts or commands via CLI)

DONE

  1. Add wipe_alerts method
  2. Improve configuration framework
  3. TestRunner addon -> Selenium Setup -> Virtual screen Setup
  4. Rename parcial to partial
  5. Create full_callback support and project watching support
  6. Create autotest.py command path/to/test.py [methods regex] -f [path to projects or files] [-F|-C|-P][--firefox|...]