транспортира создает новый профиль Chrome каждый раз, когда он работает. Прежде чем возиться с этим, вы должны знать, что это обеспечивает надежность для ваших тестов: они будут работать одинаково каждый раз, потому что они начинаются с чистого листа. Если вы решите использовать постоянный профиль, который уже зарегистрирован, ваши тесты Protractor начнут сбой, как только истечет срок действия имени, профиль удаляется или вы запускаете их на другом компьютере.
Это означает, что вы можете попросить Chrome повторно использовать один и тот же профиль (включая файлы cookie и все настройки) для каждого прогона тестов Protractor. В вашем protractor.conf.js
вы будете делать что-то вроде этого:
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': ['--user-data-dir=/a/random/path']
}
}
'args'
здесь резолютивная часть. Он позволяет передавать аргументы командной строки версии Chrome для Chrome при ее запуске (например, вы можете передать '--start-maximized'
, чтобы максимизировать Chrome при запуске).
Замените /a/random/path
на любой путь к файлу (начиная с root) в вашей системе. Просто убедитесь, что папки, на которые вы ссылаетесь, были созданы. Вам не нужно использовать свой собственный путь к профилю Chrome - это просто лишние хлопоты. Создайте папку где-нибудь и используйте ее.
Когда «Транспортир» запустит Chrome, его профиль будет находиться в указанном вами местоположении и будет продолжать использовать его до тех пор, пока ваш путь не изменится.
Имейте в виду, что это операция браузера , совсем не связанная с тем, что делает Селен или Транспортир. Я не знаю, есть ли способ сделать это с помощью Firefox или других браузеров, поскольку каждый из них имеет свой собственный способ хранения профилей пользователей.
Ha! Мой e2e-люкс - это тысячи тестов и занимает ~ 30 минут, но вы жалуетесь на 3-4 секунды? Хе-хе, только модульное тестирование с кармой может ориентироваться на такую скорость, Protractor e2e предназначается для запуска каждого сеанса браузера и сеанса кэширования каждый раз и повторного входа в систему каждый e2e работает как минимум в качестве первого шага. –
При этом вам нужно искать способ повторного использования профиля Chrome при каждом запуске, используя тот же профиль, который позволит браузеру сохранять файлы cookie. –
Спасибо, Лео за ваш совет. Я буду смотреть в Интернете, как повторно использовать конкретный хром-профиль. Тем временем я подумал о другом хорошем решении, чтобы внедрить логин через ключ API, которому потребуется только одна строка. Browser.get() – papoola