понедельник, 22 сентября 2014 г.

Jmeter, введение

Перевод: http://jmeter.apache.org/usermanual/intro.html


Apache JMeter является программным обеспечением, полностью написанным на языке Java. Может использоваться для тестирования производительности при разных типах нагрузки.
Его также можно использовать для регрессионного тестирования, с проверками условий после запроса. При проверке условий можно применять регулярные выражения.

1.1 История

Стефано Маззоччи из Apache Software Foundation является создателем JMeter. Он написал его в первую очередь для тестирования производительности Apache JServ (в настоящее время Apache Tomcat). Позже был добавлен графический интерфейс и возможности для фунционального тестирования.

1.2 Будущее

JMeter является развивающимся и популярным программным обеспечением. Его основные направления развития:

  • WebSocket
  • FTPS, SFTP
  • SOAP
  • JMS

пятница, 13 июня 2014 г.

Работа с junit из консоли

Junit - библиотека для unit тестирования программ на языке java.
Что такое unit тестирование? Это тестирование конкретного класса, нескольких классов, а при использовании Selenium Webdriver можно тестировать и web интерфейс.
Для работы с junit нужен установленный jdk, нужно скачать со страницы https://github.com/junit-team/junit/wiki/Download-and-Install файлы junit.jar и hamcrest-core.jar. Положим эти файлы в рабочую папку.
Например, рабочая программа находится в папке D:\work\. Создадим там файл программы prog.java с текстом:

public class prog {
public static void main(String[] args) {
  int d = a(2,3);
  System.out.println(d);
  }
 public static int a (int b, int c){
  return b+c;
 
 }
}
Тут есть метод а, который вычисляет сумму двух чисел.
Компиляция: нужно перейти в папку с программой и выполнить компиляцию командой: javac prog.java
После компиляции в папке должен появиться файл с названием prog.class, его можно запустить командой java prog.
Сейчас напишем тест. Нужно создать файл, например test.java, с текстом:


import static org.junit.Assert.*;
import org.junit.Test;
public class test {
@Test
public void testprog() {  
  assertSame((prog.a(4, 6)), 10);  
 }
}

Подключаем библиотеки Junit: Test и Assert. Аннотация @Test означает, что далее идет тестовый метод. Существуют другие аннотации, например @Before(методы, которые выполняются до теста), @After(выполняются после теста), и другие.
Далее идет assertSame, который вызывает метод a с нужными параметрами, тут 4,6 и сравнивает их сумму с эталонным значением 10.
Скомпилируем файл test.java: javac -cp .;hamcrest-core-1.3.jar;junit-4.11.jar -d . test.java
В папке появится скомпилированный тест: test.class. Запустим: java -cp .;hamcrest-core-1.3.jar;juint-4.11.jar org.junit.runner.JUnitCore test.class
Выполненный тест обозначается точкой. Если изменить числа в тестовом методе, например, assertSame((prog.a(1,2),10), снова откомпилировать и запустить, то тест провалится.

воскресенье, 6 апреля 2014 г.

Первый тест-план на Jmeter


Скачать jmeter можно тут: https://jmeter.apache.org/download_jmeter.cgi
Для начала можно скачать архивированную скомпилированную версию: binaries, под windows вариант zip.
Sourse - исходные файлы для продвинутых пользователей.
Файл нужно распаковать в папку, запустить файл jmeter.bat из папки bin. Запустится окно jmeter:

воскресенье, 30 марта 2014 г.

Начало работы с jmeter, основы

Apache Jmeter - программное обеспечение для нагрузочного тестирования, с открытым исходным кодом, написанное на языке программирования Java.
Поддерживает многие протоколы, есть возможность делать, например, нагрузочные тесты и для разных баз данных.

воскресенье, 23 февраля 2014 г.

Применение Javascript, если нельзя обойтись стандартными средствами

В некоторых случаях невозможно обойтись стандартными средствами selenium webdriver. Тогда можно применить включение Javascript кода. Нужно подключить:
import org.openqa.selenium.JavascriptExecutor;
Пример использования:
JavascriptExecutor jse = (JavascriptExecutor)driver;
         jse.executeScript("window.scrollBy(0,100);");
Примечание: не надо использовать javascript код без необходимости, только если невозможно обойтись стандартными средствами. Потому что это является эмуляцией пользовательских действий, а не полноценным тестированием. В некоторых случаях результаты могут отличаться.

Работа с xpath

Xpath идентификатор - путь к расположению элемента в DOM дереве.
Его правила можно почитать тут: http://allxml.h1.ru/articles/xpath.htm
Selenium Webdriver умеет искать элементы по их xpath идентификатору, например:
driver.findElement(By.xpath(".//*[@id='filter']/div[1]/li[1]/a"));

Нахождение элементов на странице и действия над ними

Переход на нужную страницу:
driver.get("http://ya.ru/");
Поиск, например, по id элемента:
driver.findElement(By.id("text1"));
Можно также искать элемент по разным параметрам: name, cssselector, xpath и другим.