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

Ищем тестировщика



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

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


Ищем тестировщика
2014-07-28 11:19

Ищем тестировщика ПО, города - Новосибирск, Иркутск, и др., есть возможность работать удаленно.

 

Обязанности:
    Тестирование внутренних доработок ИТ отдела в 1С и Web;
    Разработка и поддержка тестовой документации.

Требования:
    Уверенный пользователь ПК;
    Умение анализировать информацию и логично мыслить;
    Понимание принципов тестирования программного обеспечения.

 Будет плюсом:
    Опыт тестирования документооборота в 1С;
    Опыт автоматизированного тестирования.

Условия:
    Оформление, отпуск, больничный и пр. по ТК;
    Возможность обучения за счет компании;
    Возможность профессионального и карьерного роста;
    Оплата питания.

Тип занятости
    Полная занятость, полный день

 

Отправляйте ваше резюме на email - yu.ryazantseva@autotrade.su

a.shirshova@autotrade.su (в копию)



Связка TestNg+Selenium Grid+ Ant. Как запустить тесты с рабочего стола
2014-07-28 11:47

Привет всем. Подскажите как настроить TestNg+Selenium Grid+ Ant, чтобы запускать их с рабочего стола Windows 7 из консоли ?
Тесты пишутся на phpunit



Генерация значений для повторяющегося запроса
2014-07-28 12:29

Всем добрый день!

 

Задача вроде простая, но т.к. новичок в jmeter , идёт что-то со скрипом :)

 

 

Нужно реализовать цикл, в котором запрос будет выполняться N раз.

 

Т.е.

 

for(var i = начальное значение; i <= конечное значение; i++ )

 

При этом значение каждой итерации i надо передавать в выполняемый запрос

 

 

Подскажите пожалуйста как это можно реализовать?



Разработка тестов на Python с использованием Selenium 2.0, начало 22 а
2014-07-28 12:50

Онлайн-тренинг с практической работой, 3 занятия, начало 22 августа

Тренер: Баранцев Алексей

За прошедшие несколько лет инструмент автоматизации тестов для веб-приложений Selenium приобрел фантастическую популярность.

Владение этим инструментом стало одним из обязательных умений для тестировщика-автоматизатора, достаточно посмотреть динамику вакансий, чтобы убедиться в этом.

Если вы хотите считаться профессионалом в области автоматизации тестирования, строчка "я знаю Selenium" обязательно должна присутствовать в вашем резюме.

Простые тесты можно создавать при помощи рекордеров Selenium IDE или Selenium Builder. Но при увеличении объёма и сложности тестов этот подход теряет свою эффективность и привлекательность. Профессионалы пишут тесты на языках программирования.

Если до этого Вы не занимались автоматизацией и не знакомы с Selenium, то лучше начать с курса Selenium 2.0: стартовый уровень.

Python входит в число четырёх языков программирования, которые официально поддерживаются Selenium (наряду с Java, Ruby и C#).

Также существует аналогичный тренинг на языке Java.

Этот курс предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений на языке программирования Python.

После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений на языке программирования Python с использованием инструмента Selenium 2.0, в частности:

  • владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
  • владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (клавиатурные сочетания, перетаскивание элементов мышью и другие),
  • владеть техниками поиска (идентификации) элементов в окне браузера,
  • уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий,
  • уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям,
  • владеть основными шаблонами проектирования тестов, в том числе шаблоном PageObject,
  • уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов),
  • уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.

Читать дальше

Все секреты и тайны Selenium 2.0, онлайн, начало 22 августа
2014-07-28 12:51

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

Начало: 22 августа

Это наиболее глубокий и технически сложный тренинг по инструменту Selenium, в нём детально рассматриваются все возможности этого инструмента, особенности и нюансы их использования, известные баги и ограничения и способы их преодоления.

Курс предназначен для опытных пользователей Selenium.

Мы предлагаем новый, совершенно уникальный тренинг про Selenium 2.0 как он есть, со всеми его достоинствами и недостатками!

  • тренинг полностью посвящен WebDriver, aka Selenium 2.0, потому что за ним будущее, никаких реминисценций в адрес Selenium RC и тем более в адрес Selenium IDE не будет!
  • минимум лирических отступлений на тему “что лучше – TestNG или JUnit” или “автоматизация в контексте Agile”,
  • только правда про Selenium, вся правда, и ничего кроме правды!

Более актуальной и полной информации вы не найдёте нигде – ни в официальной документации, ни в книгах, ни на других тренингах!

Почему мы уверены в этом?

Потому что автор и ведущий тренинга –- Алексей Баранцев:

Вы получите ответы даже на самые каверзные вопросы, касающиеся Selenium!

Ну а если вам не нужна настолько подробная и глубокая информация про Selenium?

Не нужна сейчас – пригодится в будущем!

У вас останутся записи, которые будут служить вам руководством в развитии навыков автоматизатора и справочным материалом, к которому можно обращаться в случае затруднений.

"А что делать, если я только начинаю заниматься автоматизацией? Будет ли мне полезен этот тренинг?"

Да, будет. Но мы очень советуем начать с более простых курсов: “Разработка тестов на Selenium 2.0 + Java”, “Разработка тестов на Selenium 2.0 + Python” или даже Selenium 2.0: стартовый уровень.

Подробная программа и условия участия


Читать дальше

Какие инструменты или приёмы использовать для тестовых данных в тестах
2014-07-28 13:30

Подскажите, пожалуйста, как организовать тестовые данные в php-тестах используя MySQL или как их лучше генерировать в коде ? Может есть какие программы ?



Профили maven и конфигурационное тестирование
2014-07-28 14:28

Автор: Баранцев Алексей

 

Во время тренинга "Эффективное использование JUnit и TestNG" у участников возник вопрос -- как "правильно" организовывать конфигурационное тестирование, то есть запуск автотестов в разных браузерах (в том числе с разными настройками), на разных тестовых стендах, удалённо либо локально. При разработке тестов на языке программирования Java с использованием сборщика Maven это реализуется с помощью так называемых "профилей", вот как это делается:

 

Подробнее...



BeanShell и версия httpclient
2014-07-28 18:28

На сколько я понимаю Beanshell использует HttpClient 4 версии.

Можно ли как-нибудь его заставить использовать HttpClient 3 версии.

Я пробовала заменить библиотеки, но все равно появляются ошибки.



Ошибка при сохранении Throughput Timer
2014-07-29 00:56

Здравствуйте.

 

Проблема следующая: 

Качаю архив с JMeter, распаковываю. Запускаю Jmeter, создаю новый тестплан, добавляю туда ThroughPut Timer, нажимаю "сохранить".

<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.6" jmeter="2.11 r1554548">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
      <stringProp name="TestPlan.user_define_classpath"></stringProp>
    </TestPlan>
    <hashTree>
      <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="Constant Throughput Timer" enabled="true">
        <intProp name="calcMode">0</intProp>
        <doubleProp

То есть файл сохраняется не полностью.

 

В логе пишет так:

2014/07/29 00:51:08 ERROR - jmeter.gui.action.Save: Error saving tree: java.lang.ArrayIndexOutOfBoundsException: -1
at com.thoughtworks.xstream.core.util.OrderRetainingMap.entrySet(OrderRetainingMap.java:77)
at java.util.HashMap.putMapEntries(Unknown Source)
at java.util.HashMap.putAll(Unknown Source)
at com.thoughtworks.xstream.core.util.OrderRetainingMap.<init>(OrderRetainingMap.java:36)
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.buildMap(FieldDictionary.java:135)
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.fieldsFor(FieldDictionary.java:76)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:126)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:81)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at org.apache.jmeter.save.converters.TestElementConverter.marshal(TestElementConverter.java:74)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at org.apache.jmeter.save.converters.HashTreeConverter.marshal(HashTreeConverter.java:51)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at org.apache.jmeter.save.converters.HashTreeConverter.marshal(HashTreeConverter.java:52)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at org.apache.jmeter.save.ScriptWrapperConverter.marshal(ScriptWrapperConverter.java:77)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:895)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:884)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:857)
at org.apache.jmeter.save.SaveService.saveTree(SaveService.java:322)
at org.apache.jmeter.gui.action.Save.doAction(Save.java:172)
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


2014/07/29 00:51:08 ERROR - jmeter.gui.action.ActionRouter: Error processing org.apache.jmeter.gui.action.Save@7c83dc97 java.lang.ArrayIndexOutOfBoundsException: -1
at com.thoughtworks.xstream.core.util.OrderRetainingMap.entrySet(OrderRetainingMap.java:77)
at java.util.HashMap.putMapEntries(Unknown Source)
at java.util.HashMap.putAll(Unknown Source)
at com.thoughtworks.xstream.core.util.OrderRetainingMap.<init>(OrderRetainingMap.java:36)
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.buildMap(FieldDictionary.java:135)
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.fieldsFor(FieldDictionary.java:76)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:126)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:81)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at org.apache.jmeter.save.converters.TestElementConverter.marshal(TestElementConverter.java:74)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at org.apache.jmeter.save.converters.HashTreeConverter.marshal(HashTreeConverter.java:51)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at org.apache.jmeter.save.converters.HashTreeConverter.marshal(HashTreeConverter.java:52)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at org.apache.jmeter.save.ScriptWrapperConverter.marshal(ScriptWrapperConverter.java:77)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:895)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:884)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:857)
at org.apache.jmeter.save.SaveService.saveTree(SaveService.java:322)
at org.apache.jmeter.gui.action.Save.doAction(Save.java:172)
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)
at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:63)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Остальные компоненты (кроме этого таймера) работают и сохраняются. У кого-нибудь есть идеи как это можно поправить?

 



© 2010 | Software-Testing.Ru


В избранное