Формат блога о тестировании – azinoviev.com

Привет всем!

Я тут очень давно уже не писал, сейчас решил немного переделать формат блога:

  • во-первых, перейду на русский язык, все свои предыдущие статьи тоже переведу на русский, так как считаю что это будет более валидно для нашего рынка
  • во-вторых буду писать не только про тестирование Desktop-приложений, но еще и про API, web и просто о тестировании

Всем добра! Ждите обновлений 🙂

Used libraries in our project

Hi readers!

Sorry for big delay between posts, it was a problem, because of lot of work 🙂

During the work in automation project a lot of libraries will be changed\added\removed. And we need to keep then in up to date.

List of libraries also needed for setup new machine or test machine where you will run your tests. In python you can simply run command to update or create file with list of libraries: ‘pip freeze -> requirements.txt’

When you set up new machine you can simply run another request to setup all libraries: ‘pip install -r requirements.txt’

So let’s talk about libraries for our project.

I’ve took file requirements.txt from our project. A lot of libraries we’re really doesn’t use, but I haven’t time to refactor and remove them.

  • behave – it’s library which needed for proper work of Gherkin framework and running our tests.
  • Pillow – library for making screenshots
  • pyodbc – this library we’re using for connection with DB, run script. In some cases I’m using db for compare results before and after Test
  • pyscreenshot – it’s the second lib for making screenshots
  • pywinauto – it’s our main library for connect to our app 🙂

Also python has a lot of included libraries which we also use in our project:

  • time – this lib can help us to set some freezes between steps. In our app we sometimes using this lib, in case when we can’t set wait’s. My recommendation – use this lib less as you can
  • PIL – after trying to use two libs Pillow and pyscreenshot – i’ve found that Python has own lib. This lib can grab screenshots and save them into folder. Problem of this lib, that we can save files only into exist folders. We can solve this problem with another lib: OS
  • OS – lib PIL can’t save file into specific folder. With this lib we can save file into any folder, if folder doesn’t exist – this folder will be created.
  • datetime – this lib can grab current time in different formats – year, month, date, time, seconds, etc.
  • re – used for regular expression operations. You can use it for parsing something. We ‘re using for parsing doc number from title for example.
  • random – just for generating random numbers

Thanks for your attention, i hope my post will be helpful for you.

In next posts i will tell you about GIT and plans for CI

Structure of the project


Hi readers!

In my previous post I’ve described how we choose IDE and Framework.

Next phase – build project structure. Our project consists from next files and folders:

Root folder:

  • Failed_Screenshots – to those folder added screenshots when tests failed
  • Features folder – all project files, i will describe with details below
  • README.md – small description of the project 🙂
  • requirements.txt – required libs for correct running of the project

Continue reading “Structure of the project”

Let’s choose right IDE and framework

Hi readers 🙂

In previous articles I’ve told about library and language. Our next step was choosing IDE, and our choice was PyCharm from Jetbrains. But you can choose any other IDE, i think more of them similar in functionality.

Framework choosing by next steps:

  1. define how to write test cases
  2. define language to write test cases
  3. define how to describe elements

Continue reading “Let’s choose right IDE and framework”

Choosing right library and programming language

When I firstly decided to automate our desktop application I faced with problem of choosing programming language and needed libraries.

As programming language was chosen Python 3.6 as more simpler and perspective.

Next step was choosing needed libraries. I’ve read a lot of sites about automation, many frameworks were shareware. And i’ve found pywinauto. For defining elements was used application SWAPY.

Continue reading “Choosing right library and programming language”

Few words about object of Automation – our application

Our application developed on .NET. Application has a lot of modules, which was developed by a lot of guys during last 15 years. It’s very big application and has more than 25 modules. Our regression scope take more than 300 tests and always took about 2 weeks.

When we start regression we hate these two weeks 🙂 So in my head was born idea – to automate our application.