Как протестировать два сайта за один сеанс - PullRequest
1 голос
/ 25 апреля 2019

Мы работаем над многоуровневыми сервис-ориентированными проектами.Проект пользовательского интерфейса на основе CRM используется для установки механизма правил.(Пользовательский интерфейс - мы автоматизируем это с помощью Cypress.io)

Изменение отражается в приложении Frontend для конечного пользователя (оно также отдельно покрывается платформой Cypress.io)

Мы хотели бы иметь тесты e2e UI, которые сначала запускаются на движке правил, и тот же тест должен подождать несколько минут, а затем продолжить проверять влияние на интерфейс Frontend

В селене мы могли бы сделать что-то вроде -

driver.get("http://www.siteA.com/rules");//internal rules engine CRM
..
..    
driver.manage().timeouts().implicitlyWait(5, TimeUnit.MINUTES);
..
..
driver.get("http://www.siteB.com/public");//customer facing Frontend

Можно ли добиться чего-то похожего в Cypress.io

Спасибо

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Если вы попытаетесь перейти на два разных домена, Cypress ответит этим сообщением:

CypressError: сбой cy.visit (), так как вы пытаетесь посетить Второй уникальный домен.

Вы можете посетить только один уникальный домен за тест.

Разные субдомены в порядке, а уникальные - нет.

Предыдущий домен, который вы посетили, был: 'https://s3 -portal.sqills-deep-purple-test.cloud.sqills.com

Вы пытаетесь посетить этот новый домен: 'http://www.google.com'

Вам может понадобиться реструктурировать часть своего кода, чтобы предотвратить это случается.

https://on.cypress.io/cannot-visit-second-unique-domain

Так что вы должны быть в одном домене. Например это работает:

it.only('test', function () {
    cy.visit('https://images.google.com')
    cy.contains('Google')
    cy.wait(500)
    cy.visit('https://google.com')
    cy.contains('Google')
  })

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

1 голос
/ 25 апреля 2019

Вы не можете получить доступ к одному и тому же «сеансу» с совершенно разных серверов.

только с использованием единого знака.

разных серверов, чтобы получить какую-то сертификациюличность пользователя.

В основном OpenID, например, используемый здесь в stackoverflow, является решением той же проблемы, хотя у вас обычно нет неявного входа в систему - вам необходимо явно войти в систему.

Если вы управляете обоими участвующими серверами, а также проверяющей стороной «третьей стороной» (которая на самом деле может быть частью одного из двух серверов), вы сможете легко обеспечить неявный вход в систему.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...