themblem/web/tests/e2e/specs/test_all.cy.js
2024-09-01 21:51:50 +01:00

219 lines
6.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Cypress.on('uncaught:exception', (err, runnable) => {
// returning false here prevents Cypress from
// failing the test
return false
})
describe('test_all', { 'scrollBehavior': false }, () => {
beforeEach(() => {
test_login();
})
it('test emblem back-end service tenants module', () => {
test_tenants();
})
it('test emblem back-end service articles module', () => {
test_articles();
})
it('test emblem back-end service assets module', () => {
test_assets();
})
it('test emblem back-end service code-batch module', () => {
test_code_batch();
})
it('test emblem back-end service code module', () => {
test_code();
})
it('test emblem back-end service scan-data module', () => {
test_scan_data();
})
})
// 登录
function test_login() {
cy.visit('/')
cy.get('#username').type('admin')
cy.get('#password').type('123456')
cy.get("#login").click();
cy.contains("div", '登录成功');
}
// 租户管理测试
function test_tenants() {
cy.get("a[href='/tenants']").click();
// 新增
cy.get('#add-btn').click();
cy.get('#username').type("user1");
cy.get('#display_name').type("测试用户1");
cy.get('#mobile').type("11111111111");
cy.get('#password').clear();
cy.get('#password').type("123456");
cy.get('#submit-btn').click();
cy.contains('#username0', 'user1')
//修改
cy.wait(2000);
cy.get('#refresh-btn').click({ force: true });
cy.get('#edit-btn-0').click({ force: true });
cy.get('#username').clear({ force: true });
cy.get('#username').type("user_new");
cy.get('#display_name').clear();
cy.get('#display_name').type("测试用户new");
cy.get('#mobile').clear();
cy.get('#mobile').type("12111111111");
cy.get('#password').clear();
cy.get('#password').type("654321");
cy.get('#submit-btn').click();
cy.contains('#username0', 'user_new')
//删除
cy.wait(2000);
cy.get('#refresh-btn').click({ force: true });
cy.get('#del-btn-0').click({ force: true });
cy.get('#verify-input').clear();
cy.get('#verify-input').type("user_new");
cy.get('#submit-btn').click();
}
// 内容管理测试
function test_articles() {
cy.get("a[href='/articles']").click();
//新增
cy.get('#add-btn').click({ force: true });
cy.get('#title').type("article1");
cy.get('#submit-btn').click();
cy.contains('#title0', 'article1')
//修改
cy.wait(2000);
cy.get('#refresh-btn').click({ force: true });
cy.get('#edit-btn-0').click({ force: true });
cy.get('#title').clear();
cy.get('#title').type("article2");
cy.get('#submit-btn').click();
cy.contains('#title0', 'article2')
//删除
cy.wait(2000);
cy.get('#refresh-btn').click({ force: true });
cy.get('#del-btn-0').click({ force: true });
cy.get('#submit-btn').click();
}
// 文件管理测试
function test_assets() {
cy.get("a[href='/assets']").click();
cy.get('.btn-info').click({ force: true });
cy.get('#search-btn').click({ force: true });
}
// 序列码批次测试
function test_code_batch() {
// 先新增个用户
cy.get("a[href='/tenants']").click();
// 新增
cy.get('#add-btn').click();
cy.get('#username').type("Jotaro");
cy.get('#display_name').type("空条承太郎");
cy.get('#mobile').type("14111111111");
cy.get('#password').clear();
cy.get('#password').type("123456");
cy.get('#submit-btn').click();
cy.contains('#username0', 'Jotaro')
// 切换到序列码模块
cy.get("a[href='/code-batch']").click();
//新建
cy.get('#add-btn').click({ force: true });
cy.get('#qr_angle').type(5);
cy.get('#qr_angle_allowed_error').type(1);
cy.get('#code_prefix').type("CB1前缀");
cy.get('#description').type("CB1备注");
cy.get('#is_active').click();
cy.get('#submit-btn').click();
cy.contains('#code_prefix0', 'CB1前缀')
//冻结
cy.wait(1000);
cy.get('#handle-btn-0-0').click({ force: true });
cy.get('#submit-btn').click({ force: true });
cy.wait(1000);
cy.get('#refresh-btn').click({ force: true });
cy.contains('#handle-btn-0-0', '激活')
//激活
cy.wait(1000);
cy.get('#handle-btn-0-0').click({ force: true });
cy.get('#submit-btn').click({ force: true });
cy.wait(1000);
cy.get('#refresh-btn').click({ force: true });
cy.contains('#handle-btn-0-0', '冻结')
//绑定租户
cy.get('#handle-btn-0-1').click({ force: true });
cy.get('#bind-tenant-select').select('Jotaro')
cy.get('#submit-btn').click();
cy.get('#close-btn').click();
cy.get('#refresh-btn').click({force: true});
//生成序列码
cy.get('#handle-btn-0-2').click({ force: true });
cy.get('.form-control').clear({ force: true })
cy.get('.form-control').type(20)
cy.get('.btn').click({ force: true })
//序列码导入
cy.get('#handle-btn-0-3').click({ force: true });
cy.get('.form-control').click({ force: true });
cy.get('#import-btn').click({ force: true });
cy.contains('#alert-div', '请选择文件');
cy.get('#return-btn').click()
//序列码导出
cy.get('#handle-btn-0-4').click({ force: true });
cy.get('#export-btn').click();
cy.wait(3000);
cy.get('#download-btn').click();
cy.get('#close-btn').click();
cy.get('#return-btn').click();
//修改
cy.get('#edit-btn-0').click({ force: true });
cy.get('#qr_angle').clear();
cy.get('#qr_angle').type(10);
cy.get('#code_prefix').clear();
cy.get('#code_prefix').type('CB1前缀_new');
cy.get('#submit-btn').click({ force: true });
cy.get('#refresh-btn').click({ force: true });
cy.contains('#code_prefix0', 'CB1前缀_new')
//删除
cy.get('#del-btn-0').click({ force: true });
cy.get('#submit-btn').click({ force: true });
// 最后删除用户
cy.get("a[href='/tenants']").click();
cy.get('#del-btn-0').click({ force: true });
cy.get('#verify-input').clear();
cy.get('#verify-input').type("Jotaro");
cy.get('#submit-btn').click();
}
//序列码管理测试
function test_code(){
cy.get("a[href='/code']").click();
//查找
cy.get('#search-input').focus();
cy.get('#search-input').type(10)
cy.get('#search-btn').click({force: true});
cy.contains('.alert-success', '查找关键字10')
if(Cypress.$('tbody > tr > td > #code0').length > 0){
cy.get('tbody > tr > td > #code0').contains('10')
}
//清除
cy.get('#clear-input').click({force: true});
}
//扫码记录测试
function test_scan_data(){
cy.get("a[href='/scan-data']").click();
//查找
cy.get('#search-input').focus();
cy.get('#search-input').type(10)
cy.get('#search-btn').click({force: true})
//批量导出
cy.get('#batch-export-btn').click({force: true});
cy.get('p').contains("导出时间长度 (小时)")
cy.get('#export-hour-span').clear()
cy.get('#export-hour-span').type(360)
cy.get('#export-submit-btn').click();
cy.wait(3000);
cy.get('#download-btn').click();
cy.get('#close-btn').click();
}