Concurrency was not seriously taken into account in Python when it was designed. Until 3.4 version, there were two options: threading multiprocessing Although these two modules provided programmers with handy primitives and API, they both have considerable downsides. Due to GIL presence, threaded code in Python never actually run in parallel. So all attempts to […]
Ext Js Pathfinder progress report #2
It’s time for fill in some forms! Since we are already able to query for some Ext.form.field.Text components, then lets put text into it. I’ve been circling around mystic JavaScript methods of programmatically simulating key strokes by creating and dispatching KeyboardEvent. I spent a while experimenting, but I got no satisfactory result, so I decided […]
Collections in Python’s standard library: dict
Warning: this post’s contents is based on Python 3.6rc1 source code – most recent available one at the moment of writing. Dicts are omnipresent A lot of things in Python are dicts. Your programs use dictionaries extensively even if you do not explicitly instantiate them. There is a global registry of loaded modules, so they do […]
Python 3.6 new features – formatted string literals
On 23. December 2016 new minor version of Python was released – 3.6. It brings few enhancements and syntax features. In my opinion the most notable one is introduction of formatted string literals. word = ‘world’ print(f’Hello, {word}!’) # prints ‘Hello, world I always envied Ruby’s string interpolation because it is much cleaner and doesn’t […]
Ext Js Pathfinder progress report #1
tl;dr – Ext Js Pathfinder now can query elements using built-in ComponentQuery and emulate clicking buttons. Only Ext 4 is supported at the moment, though. What I’ve made I have put some work into the project. Main consideration was to choose convenient testing framework, that would actually help develop Ext Js Pathfinder. Finally I have […]
What is celery beat and how to use it?
Celery is a widely recognized distributed task queue for pythonic projects. Its sole purpose is to reduce load of web servers by delegating time-consuming tasks to separate processes. Our web servers should handle one request for no longer than a fraction of second, therefore running long tasks synchronously substantially reduces application’s throughput. So we are […]
Rationale behind Ext JS Pathfinder and its goals
Why testing Ext JS with Selenium and similar software is nearly impossible? As I explained in previous note, automatic testing any application is possible provided one is able to write appropriate client, that will interact with the app’s interface in the same manner as regular user does. So… If my application is accessed through browser, then […]
How to automate testing (almost) any app?
Let’s talk about higher level testing – acceptance and end-to-end. Such test suites interact with your application in the same way as ordinary user. Therefore, we require our tests to communicate with application at the same layer. In other words, we should use the same interface whether is it GUI, browser or REST endpoint. Naturally, higher level test suites should consist […]
breadcrumbscollector.tech launched!
So this is it… I’ve been planning to run this blog for almost a year and take part in dajsiepoznac.pl blogging competition. Project is a surprise – I decided to develop testing utility for Ext JS – based applications. JavaScript is not my favourite tool, neither Ext JS is, although I find this one demanding […]