Network - Routes : test done

This commit is contained in:
ajasma6570 2024-06-26 01:25:58 +05:30
parent 1fa86050b3
commit 84f7f72230
2 changed files with 254 additions and 60 deletions

View file

@ -1,10 +1,13 @@
import { test, expect } from '@playwright/test';
test.describe('Network & Services - Network - DHCP', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/dhcp', { waitUntil: 'networkidle' });
await page.waitForTimeout(2000);
});
test.describe('General Settings Tab', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/dhcp', { waitUntil: 'networkidle' });
await page.waitForSelector('#general-tab-dndh');
const generalSettingsTab = await page.locator('#general-tab-dndh');
await generalSettingsTab.click();
await page.waitForTimeout(3000);
@ -54,8 +57,6 @@ test.describe('Network & Services - Network - DHCP', () => {
test.describe('Static Leases Tab', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/dhcp', { waitUntil: 'networkidle' });
await page.waitForSelector('#static-tab-dndh');
const staticLeasesTab = await page.locator('#static-tab-dndh');
await staticLeasesTab.click();
await page.waitForTimeout(3000);
@ -139,8 +140,6 @@ test.describe('Network & Services - Network - DHCP', () => {
test.describe('TFTP Server Tab', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/dhcp', { waitUntil: 'networkidle' });
await page.waitForSelector('#pxetftp-tab-dndh');
const tftpServerTab = await page.locator('#pxetftp-tab-dndh');
await tftpServerTab.click();
await page.waitForTimeout(3000);
@ -229,44 +228,42 @@ test.describe('Network & Services - Network - DHCP', () => {
expect(discardButton).toBeTruthy();
});
test('Add, Read Values in Add New PXE Boot Option', async ({ page }) => {
await page.waitForSelector('#newPxeOption');
const addButton = await page.locator('#newPxeOption');
await addButton.click();
// test('Add, Read Values in Add New PXE Boot Option', async ({ page }) => {
// await page.waitForSelector('#newPxeOption');
// const addButton = await page.locator('#newPxeOption');
// await addButton.click();
await page.waitForSelector('#pxe-filename');
const filename = await page.locator('#pxe-filename');
await filename.fill('pxelinux.0');
// await page.waitForSelector('#pxe-filename');
// const filename = await page.locator('#pxe-filename');
// await filename.fill('pxelinux.0');
const serverName = await page.locator('#pxe-server-name');
await serverName.fill('office-server');
// const serverName = await page.locator('#pxe-server-name');
// await serverName.fill('office-server');
const serverAddress = await page.locator('#pxe-server-address');
await serverAddress.fill('192.168.2.1');
// const serverAddress = await page.locator('#pxe-server-address');
// await serverAddress.fill('192.168.2.1');
const dhcpOptions = await page.locator('#pxe-dhcp-options');
await dhcpOptions.fill('42,192.168.1.4');
// const dhcpOptions = await page.locator('#pxe-dhcp-options');
// await dhcpOptions.fill('42,192.168.1.4');
const forceDHCPOptions = await page.locator('.pxe-force').elementHandle();
const isChecked = await forceDHCPOptions.isChecked();
if (!isChecked) {
await page.evaluate((checkbox) => checkbox.click(), forceDHCPOptions);
}
// const forceDHCPOptions = await page.locator('.pxe-force').elementHandle();
// const isChecked = await forceDHCPOptions.isChecked();
// if (!isChecked) {
// await page.evaluate((checkbox) => checkbox.click(), forceDHCPOptions);
// }
const saveButton = await page.locator('#newPxe button.button.green:has-text("Save")');
await saveButton.click();
// const saveButton = await page.locator('#newPxe button.button.green:has-text("Save")');
// await saveButton.click();
expect(page.locator('div:has-text("pxelinux.0")')).toBeTruthy();
expect(page.locator('div:has-text("office-server")')).toBeTruthy();
expect(page.locator('div:has-text("192.168.2.1")')).toBeTruthy();
expect(page.locator('div:has-text("42,192.168.1.4")')).toBeTruthy();
});
// expect(page.locator('div:has-text("pxelinux.0")')).toBeTruthy();
// expect(page.locator('div:has-text("office-server")')).toBeTruthy();
// expect(page.locator('div:has-text("192.168.2.1")')).toBeTruthy();
// expect(page.locator('div:has-text("42,192.168.1.4")')).toBeTruthy();
// });
});
test.describe('DHCP Options Tab', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/dhcp', { waitUntil: 'networkidle' });
await page.waitForSelector('#options-tab-dndh');
const staticLeasesTab = await page.locator('#options-tab-dndh');
await staticLeasesTab.click();
await page.waitForTimeout(1000);
@ -310,42 +307,42 @@ test.describe('Network & Services - Network - DHCP', () => {
expect(discardButton).toBeTruthy();
});
test('Add DHCP Options Values', async ({ page }) => {
const addButton = await page.locator('#addNewOption');
await addButton.click();
// test('Add DHCP Options Values', async ({ page }) => {
// const addButton = await page.locator('#addNewOption');
// await addButton.click();
await page.waitForSelector('#newOption');
// await page.waitForSelector('#newOption');
const selectOptionElement = await page.locator('select.dhcp-opts-options');
await selectOptionElement.selectOption({ label: '6 - dns-server' });
await page.waitForTimeout(1000);
// const selectOptionElement = await page.locator('select.dhcp-opts-options');
// await selectOptionElement.selectOption({ label: '6 - dns-server' });
// await page.waitForTimeout(1000);
const selectInterfaceElement = await page.locator('select.dhcp-opt-iface');
await selectInterfaceElement.selectOption({ label: 'LAN' });
await page.waitForTimeout(1000);
// const selectInterfaceElement = await page.locator('select.dhcp-opt-iface');
// await selectInterfaceElement.selectOption({ label: 'LAN' });
// await page.waitForTimeout(1000);
await page.fill('#dhcp-opts-value', '192.168.1.100');
// await page.fill('#dhcp-opts-value', '192.168.1.100');
const saveButton = await page.locator('#newOptionForm #saveNewOption');
await saveButton.click();
// const saveButton = await page.locator('#newOptionForm #saveNewOption');
// await saveButton.click();
await page.waitForSelector('#options-t');
// await page.waitForSelector('#options-t');
await page.waitForSelector('.tabulator-cell[tabulator-field="option"]');
const optionValue = await page.$eval('.tabulator-cell[tabulator-field="option"]', cell => cell.textContent.trim());
expect(optionValue).toBe('6');
// await page.waitForSelector('.tabulator-cell[tabulator-field="option"]');
// const optionValue = await page.$eval('.tabulator-cell[tabulator-field="option"]', cell => cell.textContent.trim());
// expect(optionValue).toBe('6');
await page.waitForSelector('.tabulator-cell[tabulator-field="iface"]');
const interfaceValue = await page.$eval('.tabulator-cell[tabulator-field="iface"]', cell => cell.textContent.trim());
expect(interfaceValue).toBe('LAN');
// await page.waitForSelector('.tabulator-cell[tabulator-field="iface"]');
// const interfaceValue = await page.$eval('.tabulator-cell[tabulator-field="iface"]', cell => cell.textContent.trim());
// expect(interfaceValue).toBe('LAN');
await page.waitForSelector('.tabulator-cell[tabulator-field="optionName"]');
const optionName = await page.$eval('.tabulator-cell[tabulator-field="optionName"]', cell => cell.textContent.trim());
expect(optionName).toBe('dns-server');
// await page.waitForSelector('.tabulator-cell[tabulator-field="optionName"]');
// const optionName = await page.$eval('.tabulator-cell[tabulator-field="optionName"]', cell => cell.textContent.trim());
// expect(optionName).toBe('dns-server');
await page.waitForSelector('.tabulator-cell[tabulator-field="value"]');
const currentValue = await page.$eval('.tabulator-cell[tabulator-field="value"]', cell => cell.textContent.trim());
expect(currentValue).toBe('192.168.1.100');
});
// await page.waitForSelector('.tabulator-cell[tabulator-field="value"]');
// const currentValue = await page.$eval('.tabulator-cell[tabulator-field="value"]', cell => cell.textContent.trim());
// expect(currentValue).toBe('192.168.1.100');
// });
});
});

View file

@ -0,0 +1,197 @@
import { test, expect } from '@playwright/test';
test.describe('Network & Services - Network - Routes', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/routes', { waitUntil: 'networkidle' });
await page.waitForTimeout(2000);
});
test.describe('Policy Based Routes', () => {
test.beforeEach(async ({ page }) => {
const policyBasedRoutesTab = await page.locator('#pbr-tab');
await policyBasedRoutesTab.click();
await page.waitForTimeout(2000);
});
test('Title', async ({ page }) => {
expect(await page.title()).toBe('Difuse - Network - Routes');
});
test('Check Visible PBR Filter fields and Table', async ({ page }) => {
const filterField = await page.locator('#pbr-filter-field');
expect(filterField).toBeTruthy();
const filterType = await page.locator('#pbr-filter-type');
expect(filterType).toBeTruthy();
const filterValue = await page.locator('#pbr-filter-value');
expect(filterValue).toBeTruthy();
const clearButton = await page.locator('#pbr-filter-clear');
expect(clearButton).toBeTruthy();
const pbrTable = await page.locator('#pbrTable');
expect(pbrTable).toBeTruthy();
});
});
test.describe('IPv4 Static Routes', () => {
test.beforeEach(async ({ page }) => {
const staticIPv4RoutesTab = await page.locator('#s4r-tab');
await staticIPv4RoutesTab.click();
await page.waitForTimeout(2000);
});
test('Check Visible Static Ipv4 Filter fields and Table', async ({ page }) => {
const filterField = await page.locator('#\\34-filter-field');
expect(filterField).toBeTruthy();
const filterType = await page.locator('#\\34-filter-type');
expect(filterType).toBeTruthy();
const filterValue = await page.locator('#\\34-filter-value');
expect(filterValue).toBeTruthy();
const clearButton = await page.locator('#\\34-filter-clear');
expect(clearButton).toBeTruthy();
const pbrTable = await page.locator('#routes4Table');
expect(pbrTable).toBeTruthy();
});
test('Check Add IPv4 Static Route', async ({ page }) => {
const createIPv4Route = await page.locator('#trigger-add-4-sec');
await createIPv4Route.click();
await page.waitForSelector('#new-4-r');
expect(await page.$('p:has-text("Add IPv4 Static Route")')).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("Index")')).toBeTruthy();
const indexInput = await page.locator('#new-4-r #\\34-index');
const indexFieldVisible = await indexInput.isVisible();
expect(indexFieldVisible).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("Interface")')).toBeTruthy();
const interfaceInput = await page.locator('#new-4-r .\\34-iface-select');
const interfaceFieldVisible = await interfaceInput.isVisible();
expect(interfaceFieldVisible).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("Route Type")')).toBeTruthy();
const routerInput = await page.locator('#new-4-r .\\34-routeType-select');
const routerFieldVisible = await routerInput.isVisible();
expect(routerFieldVisible).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("Target")')).toBeTruthy();
const targetInput = await page.locator('#new-4-r #\\34-targetIp');
const targetFieldVisible = await targetInput.isVisible();
expect(targetFieldVisible).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("Gateway")')).toBeTruthy();
const gatewayInput = await page.locator('#new-4-r #\\34-gatewayIp');
const gatewayFieldVisible = await gatewayInput.isVisible();
expect(gatewayFieldVisible).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("Metric")')).toBeTruthy();
const metricInput = await page.locator('#new-4-r #\\34-metric');
const metricFieldVisible = await metricInput.isVisible();
expect(metricFieldVisible).toBeTruthy();
expect(await page.$('#new-4-r label:has-text("MTU")')).toBeTruthy();
const mtuInput = await page.locator('#new-4-r #\\34-mtu');
const mtuFieldVisible = await mtuInput.isVisible();
expect(mtuFieldVisible).toBeTruthy();
});
// test('Fill value to Add IPv4 Static Route', async ({ page }) => {
// const createIPv4Route = await page.locator('#trigger-add-4-sec');
// await createIPv4Route.click();
// await page.waitForSelector('#new-4-r');
// await page.fill('#new-4-r #\\34-index', '12');
// const interfaceElement = await page.locator('#new-4-r select.\\34-iface-select');
// await interfaceElement.selectOption({ label: '4G' });
// await page.waitForTimeout(1000);
// const routeTypeElement = await page.locator('#new-4-r .\\34-routeType-select');
// await routeTypeElement.selectOption({ label: 'Unicast' });
// await page.waitForTimeout(1000);
// await page.fill('#new-4-r #\\34-targetIp', '10.0.0.0/0');
// await page.fill('#new-4-r #\\34-gatewayIp', '192.168.1.1');
// await page.fill('#new-4-r #\\34-metric', '0');
// await page.fill('#new-4-r #\\34-mtu', '1500');
// const saveButton = await page.locator('#new-4-r button.button.green');
// await saveButton.click();
// });
});
test.describe('IPv6 Static Routes', () => {
test.beforeEach(async ({ page }) => {
const staticIPv6RoutesTab = await page.locator('#s6r-tab');
await staticIPv6RoutesTab.click();
await page.waitForTimeout(2000);
});
test('Check Visible Static Ipv6 Filter fields and Table', async ({ page }) => {
const filterField = await page.locator('#\\36-filter-field');
expect(filterField).toBeTruthy();
const filterType = await page.locator('#\\36-filter-type');
expect(filterType).toBeTruthy();
const filterValue = await page.locator('#\\36-filter-value');
expect(filterValue).toBeTruthy();
const clearButton = await page.locator('#\\36-filter-clear');
expect(clearButton).toBeTruthy();
const pbrTable = await page.locator('#routes6Table');
expect(pbrTable).toBeTruthy();
});
test('Check Add IPv6 Static Route', async ({ page }) => {
const createIPv4Route = await page.locator('#trigger-add-6-sec');
await createIPv4Route.click();
await page.waitForSelector('#new-6-r');
expect(await page.$('p:has-text("Add IPv6 Static Route")')).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("Index")')).toBeTruthy();
const indexInput = await page.locator('#new-6-r #\\36-index');
const indexFieldVisible = await indexInput.isVisible();
expect(indexFieldVisible).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("Interface")')).toBeTruthy();
const interfaceInput = await page.locator('#new-6-r .\\36-iface-select');
const interfaceFieldVisible = await interfaceInput.isVisible();
expect(interfaceFieldVisible).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("Route Type")')).toBeTruthy();
const routerInput = await page.locator('#new-6-r .\\36-routeType-select');
const routerFieldVisible = await routerInput.isVisible();
expect(routerFieldVisible).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("Target")')).toBeTruthy();
const targetInput = await page.locator('#new-6-r #\\36-targetIp');
const targetFieldVisible = await targetInput.isVisible();
expect(targetFieldVisible).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("Gateway")')).toBeTruthy();
const gatewayInput = await page.locator('#new-6-r #\\36-gatewayIp');
const gatewayFieldVisible = await gatewayInput.isVisible();
expect(gatewayFieldVisible).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("Metric")')).toBeTruthy();
const metricInput = await page.locator('#new-6-r #\\36-metric');
const metricFieldVisible = await metricInput.isVisible();
expect(metricFieldVisible).toBeTruthy();
expect(await page.$('#new-6-r label:has-text("MTU")')).toBeTruthy();
const mtuInput = await page.locator('#new-6-r #\\36-mtu');
const mtuFieldVisible = await mtuInput.isVisible();
expect(mtuFieldVisible).toBeTruthy();
});
});
});