This project contains a package to aid the testing of ExtJS applications from Python using Selenium.
I have previously used JavaScript testing frameworks to test ExtJS code (such as the excellent Siesta), but understand that Python is more widely used by automated testers generally. The issue with it and testing ExtJS is the fact the finding components is challenging, and interacting with any of the data underneath nigh-on impossible.
I had the idea of trying to inject JavaScript into the DOM to help, and use that from the Python. After a quick proof of concept that it was indeed possible, I started pulling this together.
It seems that GitHub does not allow publishing to PyPi yet, and it's not looking like it's coming soon, since the roadmap looks empty.
You can direct pip at GitHub though. Simply run pip install git+https://github.com/westy/pyseext or pip install git+https://github.com/westy/pyseext@1.0.0 (say, to get tag 1.0.0)
Alternatively, add this to your requirements.txt:
pyseext @ git+https://github.com/westy/pyseext
Or for a tagged version
pyseext @ git+https://github.com/westy/pyseext@1.0.0
And then run pip install -r requirements.txt
You can find the generated documentation for the library here.
This is the first time I have written any Python, so I have looked around for standards that seem to be common. I have settled on those listed here.
| Type | Public | Internal |
|---|---|---|
| Packages | lower_with_under |
|
| Modules | lower_with_under |
_lower_with_under |
| Classes | CapWords |
_CapWords |
| Exceptions | CapWords |
|
| Functions | lower_with_under() |
_lower_with_under() |
| Global/Class Constants | CAPS_WITH_UNDER |
_CAPS_WITH_UNDER |
| Global/Class Variables | lower_with_under |
_lower_with_under |
| Instance Variables | lower_with_under |
_lower_with_under |
| Method Names | lower_with_under() |
_lower_with_under() |
| Function/Method Parameters | lower_with_under |
|
| Local Variables | lower_with_under |
I have also settled on a standard of having a single class per source file (that I now understand are called modules), although inner classes are allowed. This is pretty much standard practice in other languages, and makes source control and managing conflicts far easier.