Awesome
SWD.Starter
← SWD Page Recorder -= SWD Starter Java =- SWD Starter C# →
:apple: Installation Prerequisites
In order to download and start using the project you have to install:
- Git TBD
:small_red_triangle_down: Download SWD Page Recorder
Doxygen documentation generator
Just run SWD.StarterJ\doxygen_run.cmd
and enjoy your framework API documentation!
See generated SWD.StarterJ\docs\api\html\index.html
Core concepts:
-
Share the opened browser instance across different test cases – because that is how the most users do, e.g. they do not close the browser after each action.
-
If you really want parallel test execution, just run parallel processes… Multithreaded tests implementation inside a single process would add complexity to the code and kill your workstation performance.
-
Start using PageObjects – or your code will turn to real crap soon.
-
Are your 3000 UI tests took too much time? – You are doing something wrong when you want to test everything through UI. Consider 20 high level (UI) to 80 low level (HTTP Requests / Database / Unit) tests ratio.
-
Decouple your code: avoid copy-paste approach as long as it is reasonable:
- When the duplicated code in unique only for the given suite – create a separate method inside the suite
- When the duplicated code can be used globally across the project – move it to a special BusinessSteps class or to the specific page object class;
- when you code just extends WebDriver functionality and has no connection to your test project logic – move it to the framework core assembly.
-
When you work with PageObject, it is OK to create a lot of small methods with business logic oriented names. E.g., if you have the code, which opens a new project form:
btnNewProject.Click();
WaitForAjax();
Then just move it to a separate PageObject method:
var newProjectForm = projectsPage.OpenNewProjectForm();
- Be proud of your code
:books: Useful Materials
:blue_book: Test Automation Framework methodology
:warning: read this only if you understand Russian... Otherwise... you will not understand anything. LOL: Заметки по архитектуре и методологии фреймворка
:anchor: External Articles in English:
- SWD Page Recorder – records WebElements and generates PageObject classes (Announcement)
- PageObject Generator Utility for Selenium WebDriver
:anchor: External Articles in Russian:
- Материалы моего доклада (SWD Page Recorder) на #SeleniumCamp 2014 и ещё несколько фактов
- SWD Page Recorder: Записывает PageObject-классы для Selenium WebDriver
- SWD.Starter: Быстрый старт автоматизации тестирования UI на C# + Selenium WebDriver + PageObjects
:video_camera: Videos
- (English)SWD Page Recorder: Working with Frames and JavaScript popups
- (Rus) SWD Page Recorder BETA1 — записывает PageObject'ы на C#, Java, Ruby, Perl, Python!
- За пределами PageObject
:octocat: Original Github open-source Projects
:mag_right: About Dmytro ;)
- My Homepage / Blog: http://zhariy.com/
- LinkedIn: https://www.linkedin.com/in/dmytrozharii
- Skype: dzhariy
- :corn: Resume: https://drive.google.com/file/d/0Bx--97zzjKNERnZfdjNMdlVMUG8/edit?usp=sharing
- Personal Email: dzhariy !@[@]@! gmail.com
- :bird: Twitter: @dzhariy