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

Не могу добавить cookie методом addCookie() (Selenium Webdriver +Node



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

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


Не могу добавить cookie методом addCookie() (Selenium Webdriver +Node
2016-08-11 09:38

Добрый день. Использую Selenium Webdriver + Node js. Из node js запускаю первый тест, в котором открываю страницу, ввожу логин+пароль, происходит переход на главную страницу приложения, получение куки, запись куки в файл и прописываю модуль для запуска второго теста.
Во втором тесте происходит открытие второго окна, прописываю открытие главной страницы + устанавливаю ранее добытые куки. Вместо главной страницы, открывает страницу авторизации. Пробовала прописывать ожидания, не помогло.
Подскажите, пожалуйста, в чем может быть дело?

Код теста 1:

"use strict";
var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
 
 
browser.manage().window().maximize();
 
browser.manage().timeouts().pageLoadTimeout(7000);
browser.findElement(webdriver.By.name('ctl00$Content$Username')).clear();
browser.findElement(webdriver.By.name('ctl00$Content$Username')).sendKeys('Login');
 
browser.wait(function() {
    return browser.findElement(webdriver.By.name('ctl00$Content$Password')).isDisplayed();
}, 10000);
 
browser.findElement(webdriver.By.name('ctl00$Content$Password')).clear();
browser.findElement(webdriver.By.name('ctl00$Content$Password')).sendKeys('Password');
browser.findElement(webdriver.By.name('ctl00$Content$UserLogin')).click();
 
browser.manage().timeouts().pageLoadTimeout(10000);

browser.sleep(4000);

 

// получение куки

browser.manage().getCookies().then(function(cookies){ 
var str_cooki;
str_cooki = JSON.stringify(cookies);
console.log(str_cooki);
 
var fs = require('fs');
  fs.writeFile("./test.txt", str_cooki, function(err) { // запись в файл
  if(err) {
  console.log(err);
    } else {
  //console.log(" .");
  }
  });
})
 

require('./2.js');

 

 

Код теста 2:

 

"use strict";
var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
 
var fs = require('fs');
fs.readFile("./test.txt",'utf8', function(err, data) { // чтение из файла
if(err) {
console.log(err);
} else {
console.log(data)}
var cookies = JSON.parse(data)
 browser.manage().addCookie(data)
});
 
browser.sleep(4000);
console.log('123');

 



Ищем тестировщика ПО (офис,центр,Москва, высокая белая зп)
2016-08-11 10:45

Задачи:

  • Проведение ручного(функционального) тестирования по плану.
  • Проведение нагрузочного тестирования и тестирования отказоустойчивости.
  • Создание планов для функционального, нагрузочного тестирования и тестирования отказоустойчивости.
  • Разбор результатов автотестов.
  • Регистрация и сопровождение найденных ошибок в баг-трекинговой системе.
  • Внесение доработок в существующий фреймворк для автотестов.

 

Требование:

  • Знание операционных систем семейства Linux (Fedora, Centos) на уровне уверенного пользователя(установка пакетов из репозитория, управление сервисами в автозагрузке, написание bash скриптов для запуска сервисов, настройка параметров локальной сети).
  • Знание основ построения тестов планов для функционального, нагрузочного и других видов тестирования.
  • Знание основ Python 2.7 (модули PyTest, subprocess, threading, re, os)
  • Опыт работы с баг-трекинг системами(Redmine, Jira, Bugzilla)

 

Преимуществом будут:

  • Опыт работы с openstack на уровне уверенного пользователя.
  • Опыт работы с Testlink и его модификация(PHP + Javascript).
  • Опыт работы с системой контроля версий Git.

 

Условия:

  • Образование: Законченное высшее
  • Оформление в соответствии с ТК РФ;
  • Оплачиваемый отпуск и больничный;
  • Молодой дружный коллектив;
  • Размер заработной платы обсуждается с успешными кандидатами;
  • График работы: 10.00-18.30;
  • Офис расположен в шаговой доступности от ст. метро (центр).

Пишите z.chernigovskaya@osnovalab.ru



Selenium не реагирует на alert'ы
2016-08-11 11:52

Добрый день.

В веб-приложении при удалении позиции из списка вылезает confirm-окошко, требующее подтверждения действия. В коде автотеста обрабатывающий окошко участок выглядит следующим образом:

SetMethods.ClickElement(By.Id(General.StitchId(button_combine, childPosition))); //клик по кнопке удаления записи
WaitUntilSmth.WaitLittle.Until(ExpectedConditions.AlertIsPresent()); //ждем окошко
Driver.browser.SwitchTo().Alert().Accept(); 

Два дня назад все тесты выполнялись без ошибок. Вчера на локальной машине тест начал падать на ExpectedConditions.AlertIsPresent() со следующей ошибкой:

The HTTP request to the remote WebDriver server for URL http://localhost:54623/session/4d597cd674e654ace5ac79c9a516cd61/alert_text timed out after 60 seconds.
System.Exception {OpenQA.Selenium.WebDriverException}

Stacktrace:

OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:55632/session/b4277da23ac26cc6ce309e5a35c231a8/alert_text timed out after 60 seconds.
  ----> System.Net.WebException : Запрос был прерван: Время ожидания операции истекло.
   в OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
   в OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   в OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   в OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   в OpenQA.Selenium.Remote.RemoteTargetLocator.Alert()
   в OpenQA.Selenium.Support.UI.ExpectedConditions.<AlertIsPresent>b__4c(IWebDriver driver)
   в OpenQA.Selenium.Support.UI.DefaultWait`1.Until[TResult](Func`2 condition)
   в Expo2.Utility.General.AcceptAlert() в g:\Git\expo-2\Tests\NewSeleniumTests\Expo2\Utility\General.cs:строка 144
   в Expo2.Tests.Catalogs.Support.DeleteChild(String Name, String subMenu, String subSubMenu, String elementText, Int32 childNumber, String[] button_combine) в g:\Git\expo-2\Tests\NewSeleniumTests\Expo2\Tests\Catalogs\Support.cs:строка 143
   в Expo2.Tests.Catalogs.ActivitiesTest.DeleteChild(String elementText, Int32 childNumber) в g:\Git\expo-2\Tests\NewSeleniumTests\Expo2\Tests\Catalogs\ActivitiesTest.cs:строка 123
   в Expo2.Tests.Catalogs.ActivitiesTest.FullTestActivities() в g:\Git\expo-2\Tests\NewSeleniumTests\Expo2\Tests\Catalogs\ActivitiesTest.cs:строка 181
--WebException
   в System.Net.HttpWebRequest.GetResponse()
   в OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request) 

При этом при деплое на тестовый сервер все тесты по-прежнему выполняются без нареканий. На локальных машинах падают.

Изменения в тесты не вносились, разработчики ничего не правили.

Браузер Chrome 52.0.2743.116

Selenium WebDriver 2.53.1

Тесты на C#

 

Кто-нибудь сталкивался с подобной ситуацией?

Спасибо!

 

 



Программирование на C# для тестировщиков, онлайн-тренинг, начало 19 ав
2016-08-11 12:18

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

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

Мы в очередной раз провели опрос про популярность языков программирования среди тестировщиков-автоматизаторов. И вновь, как и в прошлый раз, ожидаемо с большим отрывом победил язык Java. Но теперь Python и C# подобрались к лидеру уже ближе, проиграв не в три раза, а всего лишь в два :)

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

Но нельзя не признать, что инструменты разработки, создаваемые компанией Microsoft, эволюционируют семимильными шагами. Поэтому мы решили, что пришло время запустить тренинг "Программирование на C# для тестировщиков", аналогичный тренингу по языку Java.

Этот курс предназначен для обучения тестировщиков программированию на языке С# (для тех, кого интересует программирование на Java у нас есть другой курс).

Да, именно тестировщиков. Обучение программированию не сводится только к изучению языка программирования. Построение правильной архитектуры, использование фреймворков и библиотек, владение инструментами разработки и отладки -- это тоже часть “умения программировать”. Поэтому в этом курсе детально рассматриваются именно те возможности языка и вспомогательных библиотек, которые наиболее востребованы при разработке автотестов, в том числе при тестировании веб- и windows-приложений через пользовательский интерфейс.

Весь изучаемый материал будет демонстрироваться на одном сквозном примере -- мы будем разрабатывать на языке C# автоматизированные тесты для веб-приложения, используя Selenium WebDriver. Начав с простого теста, записанного “рекордером”, мы будем постепенно усложнять архитектуру тестового набора, добавлять и усиливать проверки в тестах, дополнять тесты генераторами тестовых данных. Основной акцент будет сделан не на алгоритмы, а на изучение различных полезных библиотек и фреймворков, а также шаблонов проектирования, позволяющих организоваэ ь код автоматизированных тестов таким образом, чтобы его было легко модифицировать и расширять.

Подробную программу нового тренинга вы можете найти на нашем сайте


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

Автоматизация функционального тестирования, начало 19 августа
2016-08-11 12:19

Онлайн-тренинг Алексея Баранцева, 1 месяц занятий, 6 часов теории + много практики + постоянные консультации тренера в скайп-чате

 

Можно ли представить себе хорошего линуксового системного администратора, который не знает общую теорию операционных систем и сетей, не подозревает о существовании Windows и MacOS, не умеет пользоваться для настройки системы консолью так же хорошо, как графической оболочкой? Можно ли считать хорошим инженером-строителем человека, который не владеет сопроматом, не знает про современные строительные материалы и особенности их применения, даже если на текущем объекте строительства они не используются? Можно ли признать хорошим актёром того, кто день за днём играет одну и ту же роль, не знает о современных тенденциях в театральном искусстве и не пытается попробовать себя в других амплуа?

 

Хороший специалист должен обладать достаточно широкими знаниями. Да, он глубоко изучает какую-то одну тему, специализируется в каком-то направлении, но при этом он должен представлять себе общую картину своей профессиональной области. Если он не будет это делать -- мир уйдёт вперёд, его узкая тема окажется устаревшей и невостребованной, а он ничего другого не знает и не умеет.

 

Умение создавать автоматизированные тесты предполагает владение специализированными инструментами, которые так и называются "инструменты для автоматизации тестирования". Но знания хорошего специалиста должны охватывать всю область автоматизации. Какие вообще инструменты бывают? Для чего они предназначены? В какой ситуации следует (или наоборот не следует) использовать тот или иной инструмент? Как выбрать наиболее подходящий для решения задачи инструмент среди множества похожих?

 

И конечно же надо уметь делать хорошие автотесты. Да, сначала надо научиться понимать, чем "хорошие" автотесты отличаются от "плохих". А потом -- научиться делать "хорошие". Эти правила являются общими, независимыми от конкретного используемого инструмента.

 

Для тех, кто хочет расширить свой кругозор и получить общие фундаментальные знания в области автоматизации тестирования мы подготовили этот учебный курс.

 

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



Ложится сайт при проверке линков Xenu
2016-08-11 13:10

Есть сайтик на OpenCart, выдерживает 30+ юзеров через Load Impact, но когда чекаю линки через Xenu (1-30+ потоков) через пару секунд ложиться тема. 

Подскажите в чем проблема? :search:

 

2016_08_11_13_07_31_500.jpgi.gif



SQA Days 19: подборка докладов по работе в стартапах
2016-08-11 13:28

Тестирование в стартапе, конечно, отличается от тестирования в большой компании. Продукт, с которым вы работаете, часто меняется, и это неизбежно, если ваш стартап ориентирован на успешный конечный результат. Кадровые ресурсы ограничены: ваш продукт не будет тестировать целый отдел, а банальное ограничение средств может сказаться на количестве тестировщиков в команде.

 

Чтобы понять, как грамотно организовать тестирование будучи стартапером, лучше всего прислушаться к опыту тех, кто знает об этом не понаслышке. На прошедшей в мае конференции SQA Days 19 некоторые докладчики делились своим опытом как раз на примерах стартапа.

 

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

 

Тестировщик в стартапе. Зачем и как, Сергей Кушнир, Cubehostel, Санкт-Петербург, Россия

Тестирование в условиях Lean: как приручить MVP?, Нина Белан, Tutu.ru, Москва, Россия

Как тестировщику выжить в стартапе и как тестировщик помогает стартапу выжить, Антон Киселев, Tester's Life, Москва, Россия

О том, как оптимизировать работу CI своими силами, Егор Васильев, Truckerpath, Москва, Россия

 

Смотреть записи докладов

 

Уже открыта регистрация на следующую конференцию для специалистов в области качества программного обеспечения - SQA Days-20, Минск, ноябрь.

Как обычно для читателей нашего портала действует промокод на получение 10% скидки.

Промокод для получения 10% скидки - s-t.ru



QA-автоматизатор Maps.Me (iOS/Android), Mail.Ru Group, Москва
2016-08-11 14:37
Команда проекта MAPS.ME (входит в состав Mail.Ru Group) разрабатывает мобильные карты c открытым исходном кодом для iOS и Android. Наши карты популярны среди более 40 млн пользователей по всему миру: из России, США, Германии, Тайваня, Таиланда и других стран.
 
За 4 года работы мы побывали на первых местах в категории «Путешествия» в App Store почти во всех странах мира, вошли в список лучших приложений за 2014, 2015 и 2016 годы в Google Play, выпустили карты для e-ink экрана на YotaPhone, засветились в публикациях TechCrunch, Forbes, Washington Post. Исходный код MAPS.ME открыт на GitGub: https://github.com/mapsme/omim
 
Мы расширяем отдел тестирования проекта и приглашаем в нашу команду специалиста по автоматизированному тестированию мобильных приложений.
 
 
Задачи:
● автоматизация функциональных и регрессионных тестов;
● анализ отчетов, выявление проблемных мест;
● разработка и поддержка фреймворка тестирования;
● взаимодействие с командой разработки.
 
Требования:
● понимание принципов тестирования;
● опыт автоматизированного тестирования;
● навыки программирования на Java и/или Python.
 
 
Будет плюсом:
● опыт тестирования мобильных приложений;
● опыт тестирования API;
● знание средств автоматизации Appium и др.;
● опыт разработки и поддержки тестового фреймворка;
● опыт работы с сервисами удаленного тестирования мобильных приложений.
 
 
Условия работы:
комфортно работаем: просторные опенспейсы, звукопоглощающие панели, несколько десятков переговорных, дополнительные мониторы, мощное железо и макбуки, если нужно;
вкусно кормят: в офисе есть ресторан с завтраками и обедами, а на каждом этаже есть 2 кухни, где всегда есть фрукты и ягоды, чай, кофе, кола и, конечно, печеньки;
приятно отдыхаем: большая лаунж-зона, массажные кресла, бар со свежевыжатыми соками, качели, уголки с пледами и подушками, где можно отдохнуть, игровые приставки, кинотеатр;
заботимся о здоровье: с первых дней работы мы даем отличную программу ДМС, включающую стоматологию и даже массаж;
занимаемся спортом: бесплатный фитнес-зал в офисе (со всеми тренажерами и, конечно, душевыми), теннисные столы и даже футбольное поле;
легко добираемся: мы находимся в пяти минутах ходьбы от м. «Аэропорт». Для тех, кто предпочитает добираться на работу на машине, у нас есть 5-этажная подземная парковка. И да, на ней есть места;
профессионально развиваемся: в нашем офисе регулярно проходят семинары, тренинги, мероприятия для разработчиков ― Moscow.pm, CocoaHeadsMoscow, UX-среда и др. Конечно, мы отправляем сотрудников и на внешние профессиональные мероприятия.
 
При вашей заинтересованности пишите на почту: naumenko@corp.mail.ru (Алексей Науменко)


Ошибка в одном тесте записывается для всех тестов
2016-08-11 16:51

Не нашёл похожего в интернете. Есть тесты с "софт асертами" (такие проверки, которые не прекращают выполнения теста). Если ошибка есть в одном тесте, то остальные помечаются как ошибочные.

import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

public class Test2 {
    
    SoftAssert softAssert = new SoftAssert();
    
    @Test
    public void one(){
        softAssert.assertEquals("1", "2");
        softAssert.assertAll();
    }
    
    @Test
    public void two(){
        softAssert.assertEquals("1", "1");
        softAssert.assertAll();
    }
}

1й тест "ложит и 2й". Если в 1м тесте исправить "2" на "1", то всё работает. Возможно, есть какая-то настройка, которая всё исправит? Или я неправильно использую testNG?

 



© 2010 | Software-Testing.Ru


В избранное