import { test, expect, Page } from '@playwright/test'; import { strictEqual } from 'assert'; import fs from 'fs'; import path from 'path'; let page: Page; test.beforeAll(async ({ browser }) => { page = await browser.newPage(); }); test.afterAll(async () => { if (page !== undefined) { await page.close(); } }); test('Login', async () => { // Login await page.goto('http://chamomind.ddns.net:20001/'); await expect(page).toHaveTitle(/^Sign in to /); await page.fill("input[name='username']", 'admin'); await page.fill("input[name='password']", '1234'); await page.click('id=kc-login'); await page.waitForTimeout(2000); // await page.click('id=acceptBtn'); }); test('สร้างลูกจ้างในสาขา', async () => { const names = [ { firstName: 'อริญา', lastName: 'จิตรเกียรติ', firstNameEn: 'Arinya', lastNameEn: 'Jitkiat', }, { firstName: 'เกียรติศักดิ์', lastName: 'อำนวย', firstNameEn: 'Kiatsakd', lastNameEn: 'Amnuy', }, { firstName: 'ภัทรพล', lastName: 'รุ่งโรจน์', firstNameEn: 'Phatthapon', lastNameEn: 'Rungroj', }, { firstName: 'ศิริพร', lastName: 'พงษ์รัตน์', firstNameEn: 'Siriporn', lastNameEn: 'Phongrat', }, { firstName: 'กรกมล', lastName: 'กิตติสมบัติ', firstNameEn: 'Karakamon', lastNameEn: 'Kittisombat', }, ]; // เข้าสู่เมนูลูกค้า await page.click('id=menu.manage'); await page.waitForSelector('id=sub-menu-customer'); await page.click('id=sub-menu-customer'); await page.click( "//td[contains(.,'บริษัท เทคโนโลยีอินโนเวต จำกัดInnovative Technology Co., Ltd.')]", ); await page.click("//table[@class='q-table']/tbody[1]/tr[3]/td[6]/button[1]"); try { for (const user of names) { await page.click("(//th[@class='text-right']//button)[2]"); await page.click('id=form-employee-select-prefix-name'); await page.click('id=form-employee-select-prefix-name_0'); await page.fill('id=form-employee-input-first-name', user.firstName); await page.fill('id=form-employee-input-last-name', user.lastName); await page.fill('id=form-employee-input-first-name-en', user.firstNameEn); await page.fill('id=form-employee-input-last-name-en', user.lastNameEn); // วันเกิด await page.click('id=form-employee-input-birth-date'); await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]"); await page.click("//div[text()='2000']"); await page.click("//div[@id='2000-11-02']/div[1]"); // สัญชาติ await page.click('id=form-employee-select-nationality'); await page.click('id=form-employee-select-nationality_3'); await page.click('id=btn-info-basic-save'); await page.waitForTimeout(2000); await page.click('id=btn-form-close'); } } catch (error) { console.error('error'); } }); test('สร้างลูกจ้างในสาขา 2', async () => { const namestwo = [ { firstName: 'สุทิน', lastName: 'ภาณุวงศ์', firstNameEn: 'Suthin', lastNameEn: 'Phanuwong', }, ]; // เข้าสู่เมนูลูกค้า await page.click('id=menu.manage'); await page.waitForSelector('id=sub-menu-customer'); await page.click('id=sub-menu-customer'); await page.click( "//td[contains(.,'บริษัท เทคโนโลยีอินโนเวต จำกัดInnovative Technology Co., Ltd.')]", ); await page.click("//table[@class='q-table']/tbody[1]/tr[5]/td[6]/button[1]"); try { for (const user of namestwo) { await page.click("(//th[@class='text-right']//button)[3]"); await page.click('id=form-employee-select-prefix-name'); await page.click('id=form-employee-select-prefix-name_0'); await page.fill('id=form-employee-input-first-name', user.firstName); await page.fill('id=form-employee-input-last-name', user.lastName); await page.fill('id=form-employee-input-first-name-en', user.firstNameEn); await page.fill('id=form-employee-input-last-name-en', user.lastNameEn); // วันเกิด await page.click('id=form-employee-input-birth-date'); await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]"); await page.click("//div[text()='2000']"); await page.click("//div[@id='2000-11-02']/div[1]"); // สัญชาติ await page.click('id=form-employee-select-nationality'); await page.click('id=form-employee-select-nationality_3'); await page.click('id=btn-info-basic-save'); await page.waitForTimeout(2000); await page.click('id=btn-form-close'); } } catch (error) { console.error('error'); } });