TesterCity

A place where software quality lives

Case Study: JUnit4, Selenium WebDriver and Allure

I just recently made an example project which shows the abilities of automated testing using JUnit4, Selenium WebDriver and Allure.

This relatively simple project with code written on Java requires only Maven to run, it works on Internet Explorer, however you may tweek it to work on any Webdriver compatible browser (both desktop and mobile). Allure itself could be tuned to use most using automated testing framework, so not only JUnit is supported. Worth to note, you may import project with your Java IDE and use it as base for your experiments.

The source code, including project configuration pom.xml, as well as setup and usage guide are available on my GitHub space:
https://github.com/niki4/automated-testing-yandex-market-example

Kali Linux 2017.2 Release

A state-of-art Linux build for all those who interested in security testing has been upgraded. For more details, including what’s new and upgrade instructions please proceed the link https://www.kali.org/news/kali-linux-2017-2-release/

GUI тесты на Python: Win32 API, MS UI Automation, и немного о будущем

Один из разработчиков Pywinauto рассказывает как с помощью Python и этого фреймворка можно автоматизировать администрирование/тестирование приложений на примере Windows.

Также стоит обратить внимание на YouTube-канал Академии Яндекса «Тестирование«, там много интересных и полезных видео по теме.

Quick start with Jupyter Notebook

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanations. In fact, it’s an interactive IDE, allowing you to share your work with anyone, collaborate and review your Python code.

It’s a web-based tool, though you can run it on your local machine (just as I do). You could check how it works by opening and running through any so called notebook (a page file with .ipynb extension, at the Jupyter Project site https://try.jupyter.org/

Running your local Jupyter instance is pretty simple. After installation, just open command line in directory were you’d like to store/open your .ipynb files and hit command:

jupyter notebook

That’s it! A browser page «http://localhost:8888/tree» will shortly pop up displaying your own Jupyter local instance and you’re ready to rock.

Jupyter is widely used in Machine Learning and Data Science areas as it has not only great UI and store your computations as if you’d have in paper notebook, but also data cleaning and transformation, numerical simulation, statistical modeling, etc.

I use it to run scikit-learn, pandas, numpy and matplotlib libraries, all great for the Data Mining/Analysis and Machine Learning tasks.

Here is also «A gallery of interesting Jupyter Notebooks«, worth to visit and check it out to see loads of the examples where Jupyter Notebook can be useful.

dirsearch — поиск скрытых директорий

Тип: python-скрипт
Назначение: веб-кроулер, поиск скрытых директорий и файлов​
Страница проекта: https://github.com/maurosoria/dirsearch
Входит в Kali Linux: нет (в 4.8.0, возможно в будущих редакциях включат)

Плюсы: легко поставить, простой в использовании, мультиплатформенный в силу того что это Python. Кроме того, автором заявлено:
— Multithreaded
— Keep alive connections
— Support for multiple extensions (-e|—extensions asp,php)
— Reporting (plain text, JSON)
— Heuristically detects invalid web pages
— Recursive brute forcing
— HTTP proxy support
— User agent randomization
— Batch processing
Минусы: результат сильно зависит от словарей, по которым работает сканер (словари в Kali лежат в /usr/share/dirb/wordlists/)

Read the rest of this entry »

Behind the proxy: оффлайн-установка Nessus в условиях корпоративной среды

Nessus — это полнофункциональный сканер системы безопасности. Модульная архитектура Nessus позволяет пользователям настраивать его для своих систем и сетей. Как и любой другой сканер, Nessus хорош настолько, насколько хороша его база данных сигнатур. К счастью, Nessus часто обновляется. Он выдаёт подробные отчёты, позволяет сканировать узлы и способен искать уязвимости в реальном времени.

Хитросплетение отношений прямого и прокси-доступа в корпоративных сетях может повергнуть в уныние даже бывалого пользователя. Установка Nessus требует регистрации лицензии, при установке его в офисе может возникать проблема с доступом через прокси, однако разработчик сканера Tenable предоставили возможность проведения оффлайн-активации продукта и установки плагинов (сигнатур) уязвимостей.

Ставить будем на Kali Linux 2016.2

Read the rest of this entry »

Quick automation: Getting Started with Selenium

Selenium is a famous tool and framework which allows you to automate your web-applications testing: record, edit and execute tests.

Selenium consist of two major parts, which can be used independently or in a cooperation, depending on your project needs:

  • Selenium IDE — a Firefox browser add-in with GUI which allows you to do simple record-and-playback interaction with the browser
  • Selenium WebDriver — a framework (API) libraries, which allows you to develop and run tests directly from your IDE

Selenium is open-source software distributed under Apache license (so it’s royalty-free) and has wide community support with addons and guidances.

All this makes Selenium good to use in various kinds of projects, includes commercial.

If you’re about to quickly start with automation some of your manual test cases, you’re on the right path.

Watch the following videos to get familiar with Selenium IDE to record users actions and give a result in minutes. Then we’ll enhance the abilities with the Selenium WebDriver.

Selenium IDE — Record, Play & Expand

record-x264

play-x264

expand-x264

Selenium WebDriver — Feel the power

exportedit_and_run_3-1

exportedit_and_run_3-2

exportedit_and_run_3-3

How Dell tests their notebooks

Testing is not only about software. It’s about hardware as well. We may await high reliability from our devices, especially if it’s high-end ones. It should have no damage and continue to work when we accidentally drop it, spill a cup with hot coffee or even sit on it.

Big HW vendors, of course, have their own hardware testlabs where they test all similar cases before mass production starts, and adjust design & materials accordingly. They use various mechanical tools to simulate load, drops, spills, etc. plus monitoring devices to collect results.

Watch these incredible videos how Dell do HW testing of their notebooks.

Dradis installation on Kali Rolling 2016.2

Dradis is a collaboration and reporting framework used by pentesters to accumulate all the statistic gathered from various security testing tools (ZAP, w3af, Nikto, etc.), proceed it and display/export in a user-friendly ‘readable’ manner. It really saves time and manage all this boring stuff of manual processing logs and reports.

It’s an open-source (GPLv2) and free, which is make it effective to use even in commercial projects.

Despite the Dradis is included in the Kali Linux 2016.2 (Rolling), I’ve got some issues running it since I’ve updated my Linux from Kali 2.0 (Sana). Browser show me Unable to connect error, whilst the console said «A server is already running«. I’ve managed to install the correct instance of Dradis from the latest Github available version and would like to share my experience with you.

  1. Follow the «Installing Dradis on Kali Linux» and run all the commands from there. If you’re working behind the proxy, check if you set http_proxy and https_proxy system variables.
  2. Once you get redis-server installed, follow the «Installing Dradis from Git» guide with my version:
    root@kali:/opt# git clone https://github.com/dradis/dradis-ce.git
    root@kali:/opt# cd dradis-ce/
    root@kali:/opt/dradis-ce# ./bin/setup
    root@kali:/opt/dradis-ce# gem install vegas
    root@kali:/opt/dradis-ce# bundle install --path vendor/cache
    
  3. Now try to run the Dradis
    Applications -> System Services -> start dradis
    Applications -> Reporting Tools -> dradis

If everything was ok, a browser started with URL like http://127.0.0.1:3000/setup where you’re welcomed to set your Dradis password and start the work with the framework.

2016_09_09_16_24_22_dradis-installation-on-kali-rolling-2016-2

 

Обзор сканера уязвимостей Vega

vega-transparent_200pxAuthor: Subgraph
Licence: Open Source / Free
Platforms: Windows, Linux, Mac

Vega — довольно мощный, универсальный сканер уязвимостей и сниффер пакетов. Интерфейс достаточно простой и не перегружен функционалом. Сканер позволяет проводить автоматический аудит сайта на наличие наиболее распространённых уязвимостей (OWASP Top 10), автоматически ранжирует найденные уязвимости по серьёзности и отображает исчерпывающую информацию (на какой страничке найдена уязвимость, её полное описание и используемый эксплоит, как исправить, отправленный/полученный TCP пакет). Из минусов — разработчики довольно медленно развивают продукт и на данный момент (07/2016) по-прежнему не реализована выгрузка результатов во внешние форматы (отчёты).

Vega, как любой приличный сканер, поддерживает работу с сайтами которые требуют аутентификацию и это сильно расширяет возможности сканирования, если у нас есть credentials или хотя бы cookies пользователя тестируемого сайта. Собственно, давайте начнём с того, что воспользуемся встроенным сниффером и перехватим наши же cookies для сайта-тренажёра WebGoat.

Read the rest of this entry »