赛普拉斯不会将服务器请求发送到预期的帐户

时间:2019-04-07 11:52:39

标签: node.js cookies mocha ui-automation cypress

当切换到另一个页面时,Cypress不会返回搜索数据或保存搜索结果。

当我在本地计算机上通过cypress执行一些自动化用例以获取搜索结果时,它应该返回数据,但是在cypress处理新屏幕数据的情况下会出现问题。

经过测试的用例如下: 1.前往主画面 2.切换到另一个帐户 3.搜索数据库上存在的有效订单

赛普拉斯的实际结果: 服务器没有返回任何数据,实际上我注意到请求已发送到默认帐户,而不是预期的帐户。

赛普拉斯会议以外的实际结果: 对于预期的帐户,数据返回确定。

该代码包括处理会话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

我的主要问题是在更改帐户并希望将新的转换帐户用作任何服务器请求的默认帐户时的用例/我的当前代码有什么问题?

谢谢。

0 个答案:

没有答案