
Может ли Selenium создавать и запускать нагрузочные тесты?
#1
Отправлено 15 июня 2011 - 06:34
Можете ли объяснить как создать нагрузочное тестирование используя Selenium и как его запустить?
Если есть какая нибудь полезная литература на эту тему буду очень благодарен(желательно на русском).
#2
Отправлено 15 июня 2011 - 07:13
2. Можно воспользоваться сервисом BrowserMob
3. Можно поставить 10 машин и на каждой запустить по 10 браузеров -- получится нагрузка в 100 виртуальных пользователей.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#3
Отправлено 15 июня 2011 - 07:55
Спасибо большое попробуем первый и второй способ. А могли бы вы глянуть вот этот вопрос1. Можно использовать HtmlUnitDriver (это часть Selenium 2.0)
2. Можно воспользоваться сервисом BrowserMob
3. Можно поставить 10 машин и на каждой запустить по 10 браузеров -- получится нагрузка в 100 виртуальных пользователей.
#4
Отправлено 15 июня 2011 - 08:16
Надеюсь, специалисты по TC откликнутся, я с этим инструментом не работаю.Спасибо большое попробуем первый и второй способ. А могли бы вы глянуть вот этот вопрос
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#5
Отправлено 15 июня 2011 - 10:45
А можете подсказать где можно по подробнее почитать про использование HtmlUnitDriver ?Надеюсь, специалисты по TC откликнутся, я с этим инструментом не работаю.
Спасибо большое попробуем первый и второй способ. А могли бы вы глянуть вот этот вопрос
И какую библиотеку нужно подключить ?
#6
Отправлено 15 июня 2011 - 13:01
Пример использования -- http://seleniumhq.or..._webdriver.html
Подробная документация -- http://selenium.goog...java/index.html
HtmlUnitDriver это один из драйверов, наряду с FirefoxDriver, InternetExlorerDriver и другими, использование ничем не отличается (за исключением, конечно, особенностей работы JS-интерпретатора, но при нагрузочном тестировании это неважно)
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#7
Отправлено 16 июня 2011 - 03:36
Возникла проблема.Загрузить и установить Selenium 2.0 -- http://seleniumhq.org/download/
Пример использования -- http://seleniumhq.or..._webdriver.html
Подробная документация -- http://selenium.goog...java/index.html
HtmlUnitDriver это один из драйверов, наряду с FirefoxDriver, InternetExlorerDriver и другими, использование ничем не отличается (за исключением, конечно, особенностей работы JS-интерпретатора, но при нагрузочном тестировании это неважно)
Подключаю библиотеку OpenQA.Selenium.Remote , но HtmlUnitDriver всё равно не видит. В чём может быть проблема ?
А HtmlUnitDriver доступна если пишешь на C# а не на Java ?
#8
Отправлено 16 июня 2011 - 06:22
Впрочем, для .Net можно использовать Selenium Server и RemoteWebDriver, указав в качестве параметра DesiredCapabilities.HtmlUnit
Вопрос лишь в том, справится ли Selenium Server, позволит ли запустить достаточно много потоков, не станет ли он узким местом.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#9
Отправлено 16 июня 2011 - 06:27
Спасибо.Попробуем.HtmlUnitDriver доступен только для Java, есть планы по миграции на .Net, но пока только планы.
Впрочем, для .Net можно использовать Selenium Server и RemoteWebDriver, указав в качестве параметра DesiredCapabilities.HtmlUnit
Вопрос лишь в том, справится ли Selenium Server, позволит ли запустить достаточно много потоков, не станет ли он узким местом.
#10
Отправлено 16 июня 2011 - 07:54
А RemoteWebDriver точно можно использовать в C# ?
#12
Отправлено 16 июня 2011 - 09:31
using OpenQA.Selenium; using OpenQA.Selenium.Remote; class Example { static void Main(string[] args) { //to use HtmlUnit from .Net we must access it through the RemoteWebDriver //Download and run the selenium-server-standalone-2.0b1.jar locally to run this example ICapabilities desiredCapabilities = DesiredCapabilities.HtmlUnit(); IWebDriver driver = new RemoteWebDriver(desiredCapabilities); //the .Net Webdriver relies on a slightly different API to navigate to //web pages because 'get' is a keyword in .Net driver.Navigate().GoToUrl("http://google.ca/"); //The rest of the code should look very similar to the Java library IWebElement element = driver.FindElement(By.Name("q")); element.SendKeys("Cheese!"); element.Submit(); System.Console.WriteLine("Page title is: " + driver.Title); driver.Quit(); System.Console.ReadLine(); } }при запуске получаю ошибку:
Unexpected error. {"message":"java.lang.NullPointerException","localizedMessage":"java.lang.NullPointerException","cause":{"class":"java.lang.NullPointerException","stackTrace":[{"fileName":"DriverFactory.java","class":"java.lang.StackTraceElement","lineNumber":43,"className":"org.openqa.selenium.remote.server.DriverFactory","methodName":"getBestMatchFor","nativeMethod":false},{"fileName":"DriverFactory.java","class":"java.lang.StackTraceElement","lineNumber":76,"className":"org.openqa.selenium.remote.server.DriverFactory","methodName":"newInstance","nativeMethod":false},{"fileName":"Session.java","class":"java.lang.StackTraceElement","lineNumber":48,"className":"org.openqa.selenium.remote.server.Session$1","methodName":"call","nativeMethod":false},{"fileName":"Session.java","class":"java.lang.StackTraceElement","lineNumber":46,"className":"org.openqa.selenium.remote.server.Session$1","methodName":"call","nativeMethod":false},{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.util.concurrent.FutureTask$Sync","methodName":"innerRun","nativeMethod":false},{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.util.concurrent.FutureTask","methodName":"run","nativeMethod":false},{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.util.concurrent.ThreadPoolExecutor$Worker","methodName":"runTask","nativeMethod":false},{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.util.concurrent.ThreadPoolExecutor$Worker","methodName":"run","nativeMethod":false},{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.lang.Thread","methodName":"run","nativeMethod":false}]},"class":"java.util.concurrent.ExecutionException","stackTrace":[{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.util.concurrent.FutureTask$Sync","methodName":"innerGet","nativeMethod":false},{"class":"java.lang.StackTraceElement","lineNumber":-1,"className":"java.util.concurrent.FutureTask","methodName":"get","nativeMethod":false},{"fileName":"Session.java","class":"java.lang.StackTraceElement","lineNumber":68,"className":"org.openqa.selenium.remote.server.Session","methodName":"execute","nativeMethod":false},{"fileName":"Session.java","class":"java.lang.StackTraceElement","lineNumber":54,"className":"org.openqa.selenium.remote.server.Session","methodName":"<init>","nativeMethod":false},{"fileName":"DriverSessions.java","class":"java.lang.StackTraceElement","lineNumber":76,"className":"org.openqa.selenium.remote.server.DriverSessions","methodName":"newSession","nativeMethod":false},{"fileName":"NewSession.java","class":"java.lang.StackTraceElement","lineNumber":46,"className":"org.openqa.selenium.remote.server.handler.NewSession","methodName":"handle","nativeMethod":false},{"fileName":"ResultConfig.java","class":"java.lang.StackTraceElement","lineNumber":144,"className":"org.openqa.selenium.remote.server.rest.ResultConfig","methodName":"handle","nativeMethod":false},{"fileName":"DriverServlet.java","class":"java.lang.StackTraceElement","lineNumber":271,"className":"org.openqa.selenium.remote.server.DriverServlet","methodName":"handleRequest","nativeMethod":false},{"fileName":"DriverServlet.java","class":"java.lang.StackTraceElement","lineNumber":256,"className":"org.openqa.selenium.remote.server.DriverServlet","methodName":"doPost","nativeMethod":false},{"fileName":"HttpServlet.java","class":"java.lang.StackTraceElement","lineNumber":727,"className":"javax.servlet.http.HttpServlet","methodName":"service","nativeMethod":false},{"fileName":"HttpServlet.java","class":"java.lang.StackTraceElement","lineNumber":820,"className":"javax.servlet.http.HttpServlet","methodName":"service","nativeMethod":false},{"fileName":"ServletHolder.java","class":"java.lang.StackTraceElement","lineNumber":428,"className":"org.openqa.jetty.jetty.servlet.ServletHolder","methodName":"handle","nativeMethod":false},{"fileName":"ServletHandler.java","class":"java.lang.StackTraceElement","lineNumber":677,"className":"org.openqa.jetty.jetty.servlet.ServletHandler","methodName":"dispatch","nativeMethod":false},{"fileName":"ServletHandler.java","class":"java.lang.StackTraceElement","lineNumber":568,"className":"org.openqa.jetty.jetty.servlet.ServletHandler","methodName":"handle","nativeMethod":false},{"fileName":"HttpContext.java","class":"java.lang.StackTraceElement","lineNumber":1530,"className":"org.openqa.jetty.http.HttpContext","methodName":"handle","nativeMethod":false},{"fileName":"HttpContext.java","class":"java.lang.StackTraceElement","lineNumber":1482,"className":"org.openqa.jetty.http.HttpContext","methodName":"handle","nativeMethod":false},{"fileName":"HttpServer.java","class":"java.lang.StackTraceElement","lineNumber":909,"className":"org.openqa.jetty.http.HttpServer","methodName":"service","nativeMethod":false},{"fileName":"HttpConnection.java","class":"java.lang.StackTraceElement","lineNumber":820,"className":"org.openqa.jetty.http.HttpConnection","methodName":"service","nativeMethod":false},{"fileName":"HttpConnection.java","class":"java.lang.StackTraceElement","lineNumber":986,"className":"org.openqa.jetty.http.HttpConnection","methodName":"handleNext","nativeMethod":false},{"fileName":"HttpConnection.java","class":"java.lang.StackTraceElement","lineNumber":837,"className":"org.openqa.jetty.http.HttpConnection","methodName":"handle","nativeMethod":false},{"fileName":"SocketListener.java","class":"java.lang.StackTraceElement","lineNumber":245,"className":"org.openqa.jetty.http.SocketListener","methodName":"handleConnection","nativeMethod":false},{"fileName":"ThreadedServer.java","class":"java.lang.StackTraceElement","lineNumber":357,"className":"org.openqa.jetty.util.ThreadedServer","methodName":"handle","nativeMethod":false},{"fileName":"ThreadPool.java","class":"java.lang.StackTraceElement","lineNumber":534,"className":"org.openqa.jetty.util.ThreadPool$PoolThread","methodName":"run","nativeMethod":false}]}
Как можно исправить эту ошибку?
#13
Отправлено 26 июля 2011 - 09:08
#14
Отправлено 25 августа 2011 - 07:20
"IWebDriver driver = new RemoteWebDriver(desiredCapabilities);" - появляется предупреждение "Невозможно загрузить файл или сборку "Newtonsoft.Json, Version=3.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" или один из зависимых от них компонентов. Не удается найти указанный файл."
Как это можно исправить !!!????Прошу помочь...
#15
Отправлено 25 августа 2011 - 07:59
Воркэраунд читать тут или тут.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#16
Отправлено 25 августа 2011 - 08:30
#17
Отправлено 25 августа 2011 - 09:35
Мне просто нужно найти инструмент для нагрузочного тестирования. Ищу разные варианты. Jmeter уже пробовал. Так же пробовал: WAPT,LoadComplete,Microsoft Web application stress tools.Я бы использовал JMeter для нагрузочных тестов на сайт.
Я сейчас тоже склоняюсь к JMeter )))
#19
Отправлено 25 августа 2011 - 10:05
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#20
Отправлено 25 августа 2011 - 10:08
Может быть. Посмотрите, какая версия Newtonsoft.Json в него входит.Я использую Microsoft .NET Fraemwork 3.5 SP1 . Может из-за того что SP1 ?
Selenium рассчитан на работу с .Net 3.5, версия .Net 4.0 пока официально не поддерживается, хотя вроде бы уже все известные несовместимости устранены.
Воркэраунд читать тут или тут.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных