Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Тестирование производительности в Visual Studio 2012



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Тестирование производительности в Visual Studio 2012
2013-06-10 11:23
Добрый день! Кто нибудь проводил тестирование производительности веб приложения в среде разработки Visual Studio 2012? Там вводится такое понятие как веб - тест. Это тоже самое что и тестирование производительности или что это? И не понятно что в данном тестировании ожидаемый результат а что фактический? Если можно поясните что такое правила проверки и извлечения в веб-тестах производительности в Visual Studio.


Повторное открытие FireFox
2013-06-10 16:01
Добрый день. Запускаю тест, указаный ниже, и наблюдаю картинку того, что браузер FF запускается 2 лишних раза, хотя при запуске Хрома и ИЕ он выскакивать не должен. Проблема заключается в том что driver = new FirefoxDriver(); находится в @Begin. Так вот вопрос. Как мне сделать так, чтоб driver = new FirefoxDriver(); запускал FF только 1 раз, а к остальным браузерам отношения не имел?
Вот код:
package com.example.tests;

import java.io.File;
import java.io.IOException;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;

import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeDriverService; 
import org.openqa.selenium.ie.InternetExplorerDriverService;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.Select;

public class LoginTest {
  private static ChromeDriverService service;
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();
  
 
  @Before
  public void setUp() throws Exception {
	   service = new ChromeDriverService.Builder()
       .usingDriverExecutable(new File("C:/Documents and Settings/Administrator/workspace/chromedriver.exe"))
       .usingAnyFreePort()
       .build();
	   driver = new FirefoxDriver();
    System.setProperty("webdriver.ie.driver", "C:/Documents and Settings/Administrator/workspace/IEDriverServer.exe");
   // System.setProperty("webdriver.firefox.driver", "C:/Program Files/Mozilla Firefox/firefox.exe");
    service.start();
    baseUrl = "http://192.168.2.168/";
    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
  }
  
  @Test
  public void testLogin() throws Exception {    
   	    driver.get(baseUrl + "/");
	    driver.findElement(By.linkText("Login")).click();
	    driver.findElement(By.linkText("Candidate")).click();
	    driver.findElement(By.name("login")).clear();
	    driver.findElement(By.name("login")).sendKeys("FR33DeGM@gmail.com");
	    driver.findElement(By.name("password")).clear();
	    driver.findElement(By.name("password")).sendKeys("Asus2938");
	    driver.findElement(By.cssSelector("input.login")).click(); 
  }
  
  @Test
  public void testChrome() throws Exception
  {
	  driver = new ChromeDriver(service);
	  driver.get(baseUrl + "/");
	  driver.findElement(By.xpath("/html/body/div[1]/div/div[1]/ul/li[1]/a")).click();
	 // driver.findElement(By.linkText("Login")).click();
	 // driver.findElement(By.linkText("Candidate")).click();
	  driver.findElement(By.xpath("/html/body/div[1]/div/div[1]/div[1]/div/a[2]")).click();
	  driver.findElement(By.name("login")).clear();
	  driver.findElement(By.name("login")).sendKeys("FR33DeGM@gmail.com");
      driver.findElement(By.name("password")).clear();
      driver.findElement(By.name("password")).sendKeys("Asus2938");
      driver.findElement(By.cssSelector("input.login")).click();  
  }
  
  @Test
  public void testIE8() throws Exception
  {
	  driver = new InternetExplorerDriver();
	  driver.get(baseUrl + "/");
	  driver.findElement(By.linkText("Login")).click();
	  driver.findElement(By.linkText("Candidate")).click();
	  driver.findElement(By.name("login")).clear();
	  driver.findElement(By.name("login")).sendKeys("FR33DeGM@gmail.com");
      driver.findElement(By.name("password")).clear();
      driver.findElement(By.name("password")).sendKeys("Asus2938");
      driver.findElement(By.cssSelector("input.login")).click();  
  }
  
  @After
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}


Нагрузочное клиент-серверного приложения
2013-06-10 16:07
Здравствуйте, уважаемые коллеги!

Не имею опыта нагрузочного тестирования, если не считать простых load-тестов web-производительности через MS Visual Studio 2012.

Есть сервер, который принимает запросы.
Есть клиент под windows (обычное windows приложение, с некоторыми функциями).
Ситуация: N одновременных пользователей - каждый сидит через свой клиент и выполняет какие-то действия (как связанные с запросами к серверу, так и нет).

Необходимо сэмулировать ситуацию, указанную выше, с целью определения времени выполнения различных запросов при указанной нагрузке (N пользователей).
Количество пользователей от 10000 до 1000000.

Вопрос: при помощи каких инструментов это можно сделать? имеет ли смысл обходить клиент под windows и направлять пошаговые сценарии сразу прямо на сервер (те. не через клиент)?

Странное поведение selenium
2013-06-10 16:43
Есть простой тест
from selenium import webdriver

driver = webdriver.Firefox()
driver.maximize_window()
driver.get("http://mirantis.com")
link = driver.find_element_by_partial_link_text("Use Cases")
link.click()
link = driver.find_element_by_partial_link_text("Infrastructure Vendors")
link.click()


Он успешно нажимает на ссылку "Use Cases", а потом, вместо того, чтобы нажать на "Infrastructure Vendors", нажимает на совсем другую ссылку.
Что это и как это исправлять? Пробовал в других браузерах, под linux / windows. Воспроизводится не всегда, иногда если браузер не развёрнут на полный экран, - не воспроизводится.

Кто-нибудь с этим сталкивался?


© 2010 | Software-Testing.Ru


В избранное