Я знаю, что эта тема обсуждается довольно редко, но у меня уникальная ситуация.
Чтобы протестировать нашу среду принятия, нам нужно нажать https://authentication -example.com , который запускает скрипт для добавления cookie сессии, таким образом, аутентифицируя нас.Затем мы переходим на https://acceptance -site.com для запуска тестов.
После попытки многих вариантов самое близкое решение, которое я могу найти, - это использовать роль, такую как
const a3 = Role('https://acceptance-site.com', async testController => {
await testController.navigateTo('https://authentication-example.com');
await testController.navigateTo('https://acceptance-site.com');
}, { preserveUrl: true });
fixture('Testing acceptance')
.beforeEach(async testController => {
await testController.useRole(authenticate);
});
test('example1', async testController => {
await testController.debug();
}).disablePageReloads;
test('example2', async testController => {
await testController.debug();
}).disablePageReloads;
test('example3', async testController => {
await testController.debug();
}).disablePageReloads;
Это решение не позволяет мне загружать любые новые страницы, которые отличаются от того, чем заканчивается роль.
Если я удаляю {preserveUrl: true} из роли, example2 иПример 3 загрузки пустых страниц.Если я удаляю .disablePageReloads из тестов, аутентификация завершается неудачно для второго и третьего тестов, и я получаю сообщение об ошибке «Не удалось найти DNS-запись для ресурса в ...». Также, если у меня есть роль
const a3 = Role('https://authentication-example.com', async testController => {
await testController.navigateTo('https://acceptance-site.com');
}, { preserveUrl: true });
проверка подлинности завершается неудачно для всех тестов.
Я заметил, что при успешной работе файл cookie, который я должен получить, на самом деле сохраняется в сеансе под приложением при отладке, и он изменяется этим молоткомупаковка для хранения.Основной URL-адрес при тестировании - это ip и порт для сервера testCafe, которому предшествуют случайные буквы, например 172.0.0.1:8080/hoi23hh/https://acceptance-site.com, что приводит к сохранению моего файла cookie всеанс (не в файлах cookie, как обычно происходит, когда не используется тестовое кафе) в качестве молотка | storage-wrapper | hoi23hh | accept-site.com
Когда я удаляю .disablePageReloads, но сохраняю preserveUrl: true на«cookie» остается неизменным, но базовый URL-адрес изменяется на 172.0.0.1:8080/ohgbo223/https://acceptance-site.com
, поэтому «hoi23hh» изменяетсяна «ohgbo223» в URL-адресе, и ключ cookie / сеанса больше не совпадает с URL-адресом, и аутентификация не проходит.
Каковы ваши предложения по сохранению аутентификации, при этом все еще имея возможность менять страницы и тому подобное