Size: a a a

QA — Автоматизация

2019 September 04

MK

Mem Kekovich in QA — Автоматизация
А вообще что значит слышал? Берёте и пробуете...
источник

A

Alina in QA — Автоматизация
Привет. какой browsername у firefox?
webdriver.drivers.path = webdriver/geckodriver64.exe
webdriver.browser.name = Firefox
example for explorer - ie
#webdriver.drivers.path = webdriver/IEDriverServer.exe
#webdriver.browser.name = ie
не запускает, не понятно почему
источник

A

Artem in QA — Автоматизация
Mem Kekovich
Копайте в сторону апач хттп клиента. Можно даже в джава хттп нативный
Да, рассматриваем такой вариант, но придётся пописать кода, потратить время. Не уверен, что нам его выделят)
источник

A

Artem in QA — Автоматизация
Mem Kekovich
А вообще что значит слышал? Берёте и пробуете...
Пробуем, действительно есть нюансы с негативными, приходится дописывать костыли
источник

OS

Oleg Sysov in QA — Автоматизация
Max
Привет всем, столкнулся с такой проблемой в cypress, инструмент для меня новый, может не так что понимаю, подскажите плз. У меня при использовании нескольких блоков it удаляется значение из local storage

У меня есть тест который устроен так

describe('add items to cart by registered user', function () {

   before('Remove user from system and registration', function () {
       //подготовка к тесту, регистрируем юзера через апи и добавляем ему в local storage нужный ключ со значением
   })

   it('Open catalog page', function () {
       //тут все нормально, мы открываем сайт, наше добавленное значение в local storage на месте, если остальные шаги помещаем в этот блок it- то тест проходит
   })
   it('Add product to cart from product category page', function () {
       //а вот тут наше значение из local storage пропадает, почему?
   })
 })
поменяй before на beforeEach. Либо можешь кастомно восстанавливать сторедж https://github.com/cypress-io/cypress/issues/461

про сейв кук почитай тут https://docs.cypress.io/faq/questions/using-cypress-faq.html#How-do-I-preserve-cookies-localStorage-in-between-my-tests
источник
2019 September 05

I

Igor in QA — Автоматизация
Привет, занялся написанием автотестов на проекте, использую espresso (тесты для андроид приложения). Так как начал по факту с нуля, то сначала накидал довольно грубые е2е тесты, и столкнулся с проблемой что они часто ложно падают из-за того что нужный элемент на экране еще не появился. thread.sleep ето плохо, поэтому начал гуглить как быть. Накнулся на некие idling resources, почитал про них, но в основном описывается counting idling resources, для использования которых надо модифицировать продакшн код, а это недопустимо на текущем проекте. Начал гуглить дальше, и наткнулся на data binding idling resources, и тут уже другая проблема - я не понимаю как их применить, потому что разжеванных примеров я не нашел, а верхнеуровневого описания мне не хватает, так как под андроид никогда не разработывал и процесс осознания идет крайне медленно. Не понимаю как их использовать. Есть ли тут кто-то кто с ними работал и может объяснить, помочь советом? Тесты у меня сейчас строятся следующим образом: у меня есть файлы классов на нужные мне экраны приложения и там описаны элементы которые есть на этих экранах и действия которые с ними можно делать, в качестве методов. Потом в отдельно файле я уже из этих кусочков собираю сценарий тестовый.
источник

СГ

Сергей Гольнев in QA — Автоматизация
Igor
Привет, занялся написанием автотестов на проекте, использую espresso (тесты для андроид приложения). Так как начал по факту с нуля, то сначала накидал довольно грубые е2е тесты, и столкнулся с проблемой что они часто ложно падают из-за того что нужный элемент на экране еще не появился. thread.sleep ето плохо, поэтому начал гуглить как быть. Накнулся на некие idling resources, почитал про них, но в основном описывается counting idling resources, для использования которых надо модифицировать продакшн код, а это недопустимо на текущем проекте. Начал гуглить дальше, и наткнулся на data binding idling resources, и тут уже другая проблема - я не понимаю как их применить, потому что разжеванных примеров я не нашел, а верхнеуровневого описания мне не хватает, так как под андроид никогда не разработывал и процесс осознания идет крайне медленно. Не понимаю как их использовать. Есть ли тут кто-то кто с ними работал и может объяснить, помочь советом? Тесты у меня сейчас строятся следующим образом: у меня есть файлы классов на нужные мне экраны приложения и там описаны элементы которые есть на этих экранах и действия которые с ними можно делать, в качестве методов. Потом в отдельно файле я уже из этих кусочков собираю сценарий тестовый.
Игорь, а вы не смотрели гугловый репозиторий с примерами эспрессо? Мне кажется там были простенькие примеры для айдлингов.
источник

I

Igor in QA — Автоматизация
Хм, что-то смотрел, но возможно не то, не скините ссылку?
источник

СГ

Сергей Гольнев in QA — Автоматизация
Igor
Хм, что-то смотрел, но возможно не то, не скините ссылку?
Сейчас нет возможности 😊 если не разберётесь - маякните мне в понедельник, посмотрим че как
источник

I

Igor in QA — Автоматизация
Хорошо, спасибо!
источник

V

Vitaly in QA — Автоматизация
Всем привет, пробую сделать загрузку тестовых данных из файла. Сделал DataProvider, но подружить его получилось только с фалами, в которых тестовые данные заданы через ";" в одну строку.
Попытки переделать его, чтобы он воспринима параметры в виде(это в идеале):

TechProject_CreateWork:РО-ТП
Number_CreateWork:545
search_CreateWork:КАМ-12-30-545
delete_CreateWork:КАМ-12-30-545


Сам код:
public Iterator<Object[]> CreateWorkWithLongName() throws IOException {
       String PathFile_CreateWorkWithLongName = "D:\\SVN\\testers\\mineral\\src\\test\\resources\\CreateWorkWithLongName.csv";
       String className = Thread.currentThread().getStackTrace().getClass().toString();
       List<Object[]> list = new ArrayList<Object[]>();
       BufferedReader reader1 = new BufferedReader(new FileReader(new File(PathFile_CreateWorkWithLongName)));
       String line = reader1.readLine();
       String[] split = line.split(";");
       list.add(new Object[]{split[0], split[1], split[2], split[3] });
       line = reader1.readLine();
       return list.iterator();
   }
источник

EB

Evgenii B in QA — Автоматизация
А в джаве нет никакого csv ридер класса, которому можно delimeter type передавать? чтобы потом не сплитить самому по знаку ";"
источник

A

Alex in QA — Автоматизация
opencsv же
источник

A

Alex in QA — Автоматизация
Хорошее, вкусное
источник

V

Vitaly in QA — Автоматизация
Спасибо, сейчас почитаю :)
источник

O

Olga in QA — Автоматизация
Здравствуйте. Как вы считаете:
а) нужно ли автоматизировать тесты, которые относятся к чистой регрессии и которые нет особого смысла повторять часто
б) если так вышло, что эти тесты уже написаны, нужно ли их удалять, или оставить и задизаблить, или все-таки ранать, раз уж есть?

(мое мнение - а) нет б) выкинуть нафиг, но возможно я неправа).
источник

D

Dasha in QA — Автоматизация
Что такое чистая регрессия?
источник

EB

Evgenii B in QA — Автоматизация
Все сводится к тому, насколько хорошо вы оцениваете риски необходимости прогона тестов.

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

EB

Evgenii B in QA — Автоматизация
Опять же если у вас хватает производственных мощностей гонять полную регрессию, нет никаких оснований не делать этого
источник

O

Olga in QA — Автоматизация
запускать или не запускать - это мне понятно, вопрос писать их или не писать, в условиях ограниченных ресурсов на автотесты :) (не забываем же еще и про поддержку + наличие flaky tests).
источник