Cypress не возвращал данные поиска или сохранял результаты поиска при переключении на другую страницу, которая также должна сохранять и отображать данные.
Когда я выполняю какой-то автоматический сценарий использования Cypress на моей локальной машине для результатов поиска, он должен возвращать данные, но что-то не так в случаях, когда Cypress обрабатывает данные для новых экранов.
Проверенные варианты использования приведены ниже:
1. направляясь к главному экрану
2. переход на другой аккаунт
3. поиск действующего заказа, который существует в БД
Фактический результат по Cypress:
Сервер не вернул никаких данных, фактически я заметил, что запрос отправляется на учетную запись по умолчанию, а не на ожидаемую.
Фактический результат вне сеанса кипариса:
Данные возвращаются нормально для ожидаемого аккаунта.
Код, включающий предварительные условия для обработки файлов cookie сеанса для запоминания переключенной учетной записи для всех запросов (utils.auth_handler) -
let server_auth_url = Cypress.env('server') + urls.server_auth;
cy.request('POST', server_auth_url, currentUser);
Cypress.Cookies.preserveOnce('session_id', 'remember_token');
Скрипт тестового полного кейса:
import * as loc from '../support/locators';
import * as urls from '../support/urls';
import * as utils from '../support/utils';
import { quick_login } from '../support/init.js';
describe('WebApp - Orders', function() {
beforeEach(() => {
utils.auth_handler();
});
before(() => {
quick_login();
});
it('Orders - data loading time',function() {
cy.visit(urls.expand_data_orders);
cy.get(loc.switch_to_orders).click();
cy.get(loc.graphs,{ timeout: 5000 }).should('be.visible');
cy.get(loc.orders_table,{ timeout: 5000 }).should('be.visible');
cy.get(loc.data_summary,{ timeout: 5000 }).should('be.visible');
});
it('Orders - Search data validation', function () {
cy.get(loc.order_results_row).first().then(($id_value) => {
// store the button's text
let txt = $id_value.text();
cy.log(txt);
cy.get(loc.search_field).type(txt + '{enter}');
})
});
});
![enter image description here](https://i.stack.imgur.com/7dMHh.png)
Мой главный вопрос заключается в том, как обрабатывать сценарии использования при смене учетных записей и хотеть использовать новую коммутируемую учетную запись в качестве значения по умолчанию для любого запроса сервера / Что не так с моим текущим кодом?
Спасибо.