1295 lines
55 KiB
TypeScript
1295 lines
55 KiB
TypeScript
import { test, expect, Page } from '@playwright/test';
|
|
|
|
let page: Page;
|
|
let isLoginSuccessful = false;
|
|
|
|
test.beforeAll(async ({ browser }) => {
|
|
page = await browser.newPage();
|
|
});
|
|
|
|
test.afterAll(async () => {
|
|
if (page !== undefined) {
|
|
await page.close();
|
|
}
|
|
});
|
|
async function login(page: Page) {
|
|
try {
|
|
// Login
|
|
await page.goto('http://192.168.1.62:20101/');
|
|
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');
|
|
|
|
// ถ้าทั้งหมดสำเร็จ
|
|
isLoginSuccessful = true;
|
|
console.log('ระบบทำการ Login สำเร็จ');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการ Login');
|
|
isLoginSuccessful = false;
|
|
}
|
|
}
|
|
test('Login', async () => {
|
|
await login(page);
|
|
});
|
|
|
|
test('TC_2_2_001', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าจัดการบุคลากร');
|
|
});
|
|
|
|
test('TC_2_2_002', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เข้าสู่หน้าเพิ่มบุคลการ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
const pageAddPersonel = page.locator(
|
|
"//div[contains(@class,'col text-subtitle1')]",
|
|
);
|
|
const dialogFormInformation = page.locator('id=dialog-form-information');
|
|
const dialogFormPersonal = page.locator('id=dialog-form-personal');
|
|
const dialogFormInAddress = page.locator('id=dialog-form-address');
|
|
|
|
await expect(pageAddPersonel).toHaveText('เพิ่มบุคลากร');
|
|
await expect(dialogFormInformation).toBeVisible();
|
|
await expect(dialogFormPersonal).toBeVisible();
|
|
await expect(dialogFormInAddress).toBeVisible();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบแสดงหน้าเพิ่มบุคลากร');
|
|
});
|
|
|
|
test('TC_2_2_003', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เข้าสู่หน้าเพิ่มบุคลการ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// กรอกข้อมูลพื้นฐานของบุคคลากร
|
|
// await page.click("//i[@aria-hidden='false']");
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.waitForSelector('id=select-hq-id_12');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'employeem');
|
|
await page.click('id=select-user-type');
|
|
await page.click('id=select-user-type_0');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_2');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'ธรรมรงด์');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'ดำรงธรรม');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Thamrong');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-last-name-en',
|
|
'Dumrongtum',
|
|
);
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'employeem@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='ชาย']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2000']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2000-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2010']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2010-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.fill('id=input-regis-no', '2822282222421');
|
|
await page.click('id=input-start-date');
|
|
await page.click("//div[text()='11']");
|
|
await page.click('id=input-retire-date');
|
|
await page.click("//div[text()='21']");
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
await page.waitForSelector;
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='ธรรมรงด์ ดำรงธรรม']",
|
|
);
|
|
|
|
const displayName = (await displayNameLocator.textContent())?.trim() || '';
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('ธรรมรงด์ ดำรงธรรม');
|
|
console.log(displayName);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการเพิ่มพนักงาน');
|
|
});
|
|
|
|
test('TC_2_2_004', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[2]");
|
|
await page.click("(//div[@role='tab'])[2]");
|
|
|
|
// เข้าหน้าแก้ไขพนักงาน
|
|
await page.waitForSelector('id=btn-kebab-action-employeem');
|
|
await page.click('id=btn-kebab-action-employeem');
|
|
await page.waitForSelector('id=btn-kebab-edit-employeem');
|
|
await page.click('id=btn-kebab-edit-employeem');
|
|
|
|
// แก้ไขข้อมูลพนักงาน
|
|
await page.fill(
|
|
"(//input[@id='drawer-info-personnel-input-first-name'])[1]",
|
|
'ณัฐวัฒน์',
|
|
);
|
|
await page.fill('id=drawer-info-personnel-input-last-name', 'วงศ์อนันต์');
|
|
await page.fill('id=drawer-info-personnel-input-first-name-en', 'Nattawat');
|
|
await page.fill('id=drawer-info-personnel-input-last-name-en', 'Wonganan');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
await page.waitForSelector;
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='ณัฐวัฒน์ วงศ์อนันต์']",
|
|
);
|
|
|
|
const displayName = (await displayNameLocator.textContent())?.trim() || '';
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('ณัฐวัฒน์ วงศ์อนันต์');
|
|
console.log(displayName);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการแก้ไขข้อมูลพนักงานได้');
|
|
});
|
|
|
|
test('TC_2_2_005', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[2]");
|
|
await page.click("(//div[@role='tab'])[2]");
|
|
|
|
// สร้างบุคลากรเพื่อทำการลบ
|
|
// เข้าสู่หน้าเพิ่มบุคลการ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
|
|
// กรอกข้อมูลพื้นฐานของบุคคลากร
|
|
// await page.click("//i[@aria-hidden='false']");
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.waitForSelector('id=select-hq-id_12');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'employeetest');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_2');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'อารม');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'คมมา');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Aram');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Proma');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'employeem@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='ชาย']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2000']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2000-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2010']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2010-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.fill('id=input-regis-no', '2822282222421');
|
|
await page.click('id=input-start-date');
|
|
await page.click("//div[text()='11']");
|
|
await page.click('id=input-retire-date');
|
|
await page.click("//div[text()='21']");
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// การลบบุคลากร
|
|
await page.waitForSelector('id=btn-kebab-action-employeetest');
|
|
await page.click('id=btn-kebab-action-employeetest');
|
|
await page.waitForSelector('id=btn-kebab-delete-employeetest');
|
|
await page.click('id=btn-kebab-delete-employeetest');
|
|
await page.waitForSelector('id=btn-ok-dialog');
|
|
await page.click('id=btn-ok-dialog');
|
|
|
|
// ตรวจสอบหลังจากทำการลบ
|
|
const personalDeletedCheck = page.locator(
|
|
"//tr[contains(.,'อารม คมมา') and contains (.,'employeetest@mail.comAgent')]",
|
|
);
|
|
|
|
await expect(personalDeletedCheck).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบการลบบุคลากรออกจากระบบ');
|
|
});
|
|
|
|
test('TC_2_2_006', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[3]");
|
|
await page.click("(//div[@role='tab'])[3]");
|
|
|
|
// เข้าสู่หน้าเพิ่มบุคลการ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.waitForSelector('id=select-hq-id_12');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'courierw');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_6');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'มาตา');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'ลดา');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Mata');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Lada');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'courierw@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='หญิง']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2002']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2002-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2012']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2012-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.fill('id=input-regis-no', '2822282222421');
|
|
await page.click('id=input-start-date');
|
|
await page.click("//div[text()='11']");
|
|
await page.click('id=input-retire-date');
|
|
await page.click("//div[text()='21']");
|
|
await page.click('id=input-responsible-area');
|
|
await page.waitForSelector('id=input-responsible-area_7');
|
|
await page.click('id=input-responsible-area_7');
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='มาตา ลดา']",
|
|
);
|
|
const displayName = (await displayNameLocator.textContent())?.trim();
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('มาตา ลดา');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างพนักงานส่งเอกสาร');
|
|
});
|
|
|
|
test('TC_2_2_007', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[3]");
|
|
await page.click("(//div[@role='tab'])[3]");
|
|
|
|
// เปิดหน้าแก้ไขพนักงานส่งเอกสาร
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-kebab-action-courierw');
|
|
await page.waitForSelector('id=btn-kebab-edit-courierw');
|
|
await page.click('id=btn-kebab-edit-courierw');
|
|
|
|
// แก้ไขชื่อพนักงานส่งเอกสาร
|
|
await page.fill(
|
|
"(//input[@id='drawer-info-personnel-input-first-name'])[1]",
|
|
'อริสรา',
|
|
);
|
|
await page.fill('id=drawer-info-personnel-input-last-name', 'ธนาพร');
|
|
await page.fill('id=drawer-info-personnel-input-first-name-en', 'Arisara');
|
|
await page.fill('id=drawer-info-personnel-input-last-name-en', 'Thanaporn');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='อริสรา ธนาพร']",
|
|
);
|
|
const displayName = (await displayNameLocator.textContent())?.trim();
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('อริสรา ธนาพร');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการแก้ไขพนักงานส่งเอกสาร');
|
|
});
|
|
|
|
test('TC_2_2_008', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[3]");
|
|
await page.click("(//div[@role='tab'])[3]");
|
|
|
|
// ทดสอบการเพิ่มบุคลากรเพื่อทำการลบ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.waitForSelector('id=select-hq-id_12');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'test');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_6');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'ปริญญา');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'สุขเกษม');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Parinya');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Sukkasem');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'courierw@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='หญิง']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2002']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2002-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2012']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2012-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.fill('id=input-regis-no', '2822282222421');
|
|
await page.click('id=input-start-date');
|
|
await page.click("//div[text()='11']");
|
|
await page.click('id=input-retire-date');
|
|
await page.click("//div[text()='21']");
|
|
await page.click('id=input-responsible-area');
|
|
await page.waitForSelector('id=input-responsible-area_7');
|
|
await page.click('id=input-responsible-area_7');
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// การลบบุคลากร
|
|
await page.waitForSelector('id=btn-kebab-action-test');
|
|
await page.click('id=btn-kebab-action-test');
|
|
await page.waitForSelector('id=btn-kebab-delete-test');
|
|
await page.click('id=btn-kebab-delete-test');
|
|
await page.waitForSelector('id=btn-ok-dialog');
|
|
await page.click('id=btn-ok-dialog');
|
|
|
|
const courierDeletedCheck = page.locator(
|
|
"//div[normalize-space(text())='ปริญญา สุขเกษม']",
|
|
);
|
|
|
|
await expect(courierDeletedCheck).toBeHidden();
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการแก้ไขพนักงานส่งเอกสาร');
|
|
});
|
|
|
|
test('TC_2_2_009', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[4]");
|
|
await page.click("(//div[@role='tab'])[4]");
|
|
|
|
// ทดสอบการเพิ่มบุคลากรตัวแทน
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'delegatem');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_8');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'อาคม');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'พลัง');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Akom');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Palang');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'delegatem@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='ชาย']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2004']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2004-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2014']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2014-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.fill('id=input-discount-condition', 'ทดสอบข้อมูลการทำงาน');
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='อาคม พลัง']",
|
|
);
|
|
const displayName = (await displayNameLocator.textContent())?.trim();
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('อาคม พลัง');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการสร้างตัวแทน');
|
|
});
|
|
|
|
test('TC_2_2_010', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[4]");
|
|
await page.click("(//div[@role='tab'])[4]");
|
|
|
|
// เปิดหน้าแก้ไขพนักงานส่งเอกสาร
|
|
await page.waitForTimeout(2000);
|
|
await page.click('id=btn-kebab-action-delegatem');
|
|
await page.waitForSelector('id=btn-kebab-edit-delegatem');
|
|
await page.click('id=btn-kebab-edit-delegatem');
|
|
|
|
// แก้ไขชื่อพนักงานส่งเอกสาร
|
|
await page.fill(
|
|
"(//input[@id='drawer-info-personnel-input-first-name'])[1]",
|
|
'ชยาภัสร์',
|
|
);
|
|
await page.fill('id=drawer-info-personnel-input-last-name', 'นาคินทร์');
|
|
await page.fill(
|
|
'id=drawer-info-personnel-input-first-name-en',
|
|
'Chayaphat',
|
|
);
|
|
await page.fill('id=drawer-info-personnel-input-last-name-en', 'Nakin');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='ชยาภัสร์ นาคินทร์']",
|
|
);
|
|
const displayName = (await displayNameLocator.textContent())?.trim();
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('ชยาภัสร์ นาคินทร์');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบทำการแก้ไขตัวแทนได้');
|
|
});
|
|
|
|
test('TC_2_2_011', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[4]");
|
|
await page.click("(//div[@role='tab'])[4]");
|
|
|
|
// ทดสอบการเพิ่มบุคลากรเพื่อทำการลบ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'testdelegatem');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_8');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'อธิวัฒน์');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'พงษ์ศิริ');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Athiwat');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Phongsiri');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'delegatem@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='ชาย']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2004']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2004-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2014']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2014-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.fill('id=input-discount-condition', 'ทดสอบข้อมูลการทำงาน');
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ทำการลบตัวแทน
|
|
await page.waitForSelector('id=btn-kebab-action-testdelegatem');
|
|
await page.click('id=btn-kebab-action-testdelegatem');
|
|
await page.waitForSelector('id=btn-kebab-delete-testdelegatem');
|
|
await page.click('id=btn-kebab-delete-testdelegatem');
|
|
await page.waitForSelector('id=btn-ok-dialog');
|
|
await page.click('id=btn-ok-dialog');
|
|
|
|
// ตรวจสอบหลีงจากทำการบุคลากรตัวแทน
|
|
const checkDelegatemDeleted = page.locator(
|
|
"//div[normalize-space(text())='อธิวัฒน์ พงษ์ศิริ']",
|
|
);
|
|
await expect(checkDelegatemDeleted).toBeHidden();
|
|
await page.waitForTimeout(2000);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบตัวแทนออกจากระบบได้');
|
|
});
|
|
|
|
test('TC_2_2_012', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[5]");
|
|
await page.click("(//div[@role='tab'])[5]");
|
|
|
|
// กรอกข้อมูลพื้นฐานของบุคคลากร
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.waitForSelector('id=select-hq-id_12');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'agencyw');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_2');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'ธิดา');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'งามตา');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Thida');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Yamta');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill('id=form-dialog-personnel-input-email', 'agencyw@mail.com');
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='หญิง']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2006']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2006-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2016']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2016-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.click('id=input-source-nationality');
|
|
await page.click("(//div[@role='option'])[1]");
|
|
await page.click('id=input-import-nationality');
|
|
await page.click("(//div[@role='option'])[1]");
|
|
await page.click('id=select-trainig-place');
|
|
await page.click("//span[text()='สถานที่อบรมแรงงานเมียนมา-แม่สอด จ.ตาก']");
|
|
await page.fill('id=input-checkpoint', 'แม่สอด');
|
|
await page.fill('id=input-checkpoint-en', 'Maesod');
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
await page.waitForTimeout(2000);
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='ธิดา งามตา']",
|
|
);
|
|
const displayName = (await displayNameLocator.textContent())?.trim();
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('ธิดา งามตา');
|
|
|
|
await page.waitForTimeout(2000);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถสร้างบุคลากรเอเจนซี่ได้');
|
|
});
|
|
|
|
test('TC_2_2_013', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[5]");
|
|
await page.click("(//div[@role='tab'])[5]");
|
|
|
|
// เปิดหน้าแก้ไขบุคลากรเอเจนซี่
|
|
await page.waitForTimeout(2000);
|
|
await page.waitForSelector('id=btn-kebab-action-agencyw');
|
|
await page.click('id=btn-kebab-action-agencyw');
|
|
await page.waitForSelector('id=btn-kebab-edit-agencyw');
|
|
await page.click('id=btn-kebab-edit-agencyw');
|
|
|
|
// แก้ไขชื่อพบัคลากรเอเจนซี่
|
|
await page.fill(
|
|
"(//input[@id='drawer-info-personnel-input-first-name'])[1]",
|
|
'นวพร',
|
|
);
|
|
await page.fill('id=drawer-info-personnel-input-last-name', 'จารุวัฒน์ ');
|
|
await page.fill('id=drawer-info-personnel-input-first-name-en', 'Nawaporn');
|
|
await page.fill('id=drawer-info-personnel-input-last-name-en', 'Jaruwat');
|
|
await page.waitForSelector('id=btn-info-basic-save');
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ดึงข้อมูลจาก Locator และนำ .textContent() เพื่อดึงมาแต่ข้อความจริง ๆ
|
|
const displayNameLocator = page.locator(
|
|
"//div[normalize-space(text())='นวพร จารุวัฒน์']",
|
|
);
|
|
const displayName = (await displayNameLocator.textContent())?.trim();
|
|
|
|
// ตรวจสอบข้อมูลที่ดึงออกมา
|
|
expect(displayName).toBe('นวพร จารุวัฒน์');
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารแก้ไขบุคลากรเอเจนซี่ได้');
|
|
});
|
|
|
|
test('TC_2_2_014', async () => {
|
|
if (!isLoginSuccessful) {
|
|
await login(page);
|
|
}
|
|
try {
|
|
// เข้าสู่หน้าบุคลากร
|
|
await page.click('id=menu.manage');
|
|
await page.waitForSelector('id=sub-menu-personnel');
|
|
await page.click('id=sub-menu-personnel');
|
|
|
|
// เปิดแท็ปพนักงาน
|
|
await page.waitForSelector("(//div[@role='tab'])[5]");
|
|
await page.click("(//div[@role='tab'])[5]");
|
|
|
|
// ทดสอบการเพิ่มบุคลากรเพื่อทำการลบ
|
|
await page.waitForSelector('id=btn-add');
|
|
await page.click('id=btn-add');
|
|
await page.waitForSelector('id=select-hq-id', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=select-hq-id');
|
|
await page.click('id=select-hq-id_12');
|
|
|
|
await page.waitForSelector('id=select-br-id', { state: 'visible' });
|
|
await page.click('id=select-br-id');
|
|
await page.click('id=select-br-id_4');
|
|
await page.fill('id=input-username', 'agencytest');
|
|
await page.click('id=select-user-role');
|
|
await page.click('id=select-user-role_8');
|
|
// await page.click("//div[@role='option']");
|
|
|
|
// กรอกชื่อข้อมูลพื้นฐาน
|
|
await page.fill('id=input-citizen-id', '1282262422820');
|
|
await page.click(
|
|
"//label[@for='form-dialog-personnel-select-prefix-name']",
|
|
);
|
|
await page.click('id=form-dialog-personnel-select-prefix-name_0');
|
|
await page.fill('id=form-dialog-personnel-input-first-name', 'กิตติศักดิ์');
|
|
await page.fill('id=form-dialog-personnel-input-last-name', 'วรากุล');
|
|
await page.fill('id=form-dialog-personnel-input-first-name-en', 'Kittisak');
|
|
await page.fill('id=form-dialog-personnel-input-last-name-en', 'Warakul');
|
|
await page.fill('id=form-dialog-personnel-input-telephone', '08422622282');
|
|
await page.fill(
|
|
'id=form-dialog-personnel-input-email',
|
|
'delegatem@mail.com',
|
|
);
|
|
|
|
// เลือกเพศ
|
|
await page.click('id=form-dialog-personnel-select-gender');
|
|
await page.click("//span[text()='ชาย']");
|
|
|
|
// เลือกวันเกิด
|
|
await page.click('id=form-dialog-personnel-input-birth-date');
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2004']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2004-01-02']/div[1]");
|
|
|
|
// วันออกบัตร
|
|
await page.click(
|
|
"(//input[@id='form-dialog-personnel-input-citizen-issue'])[1]",
|
|
);
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[2]");
|
|
await page.click("//div[text()='2014']");
|
|
await page.click("(//button[@class='dp__btn dp__month_year_select'])[1]");
|
|
await page.click("//div[text()='ม.ค.']");
|
|
await page.click("//div[@id='2014-01-02']/div[1]");
|
|
|
|
// กรอกที่อยู่
|
|
await page.fill('id=drawer-info-personnel-input-address-no', '20/1');
|
|
await page.click('id=drawer-info-personnel-select-province');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-province_6', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-province_6');
|
|
await page.click('id=drawer-info-personnel-select-district');
|
|
await page.waitForSelector('id=drawer-info-personnel-select-district_2', {
|
|
state: 'visible',
|
|
});
|
|
await page.click('id=drawer-info-personnel-select-district_2');
|
|
await page.click('id=drawer-info-personnel-select-sub-district');
|
|
await page.waitForSelector(
|
|
'id=drawer-info-personnel-select-sub-district_1',
|
|
{
|
|
state: 'visible',
|
|
},
|
|
);
|
|
await page.click('id=drawer-info-personnel-select-sub-district_1');
|
|
|
|
// กรอกที่อยู่ภาษาอังกฤษ
|
|
await page.fill('id=drawer-info-personnel-input-address-en', '20/01');
|
|
|
|
// กรอกข้อมูลการทำงาน
|
|
await page.click('id=input-source-nationality');
|
|
await page.click("(//div[@role='option'])[1]");
|
|
await page.click('id=input-import-nationality');
|
|
await page.click("(//div[@role='option'])[1]");
|
|
await page.click('id=select-trainig-place');
|
|
await page.click("//span[text()='สถานที่อบรมแรงงานเมียนมา-แม่สอด จ.ตาก']");
|
|
await page.fill('id=input-checkpoint', 'แม่สอด');
|
|
await page.fill('id=input-checkpoint-en', 'Maesod');
|
|
|
|
// กดปุ่มเพื่อสร้างบุคคลากร
|
|
await page.click('id=btn-info-basic-save');
|
|
|
|
// ทำการลบตัวแทน
|
|
await page.waitForSelector('id=btn-kebab-action-agencytest');
|
|
await page.click('id=btn-kebab-action-agencytest');
|
|
await page.waitForSelector('id=btn-kebab-delete-agencytest');
|
|
await page.click('id=btn-kebab-delete-agencytest');
|
|
await page.waitForSelector('id=btn-ok-dialog');
|
|
await page.click('id=btn-ok-dialog');
|
|
|
|
// ตรวจสอบหลีงจากทำการบุคลากรตัวแทน
|
|
const checkDelegatemDeleted = page.locator(
|
|
"//div[normalize-space(text())='กิตติศักดิ์ วรากุล']",
|
|
);
|
|
await expect(checkDelegatemDeleted).toBeHidden();
|
|
await page.waitForTimeout(2000);
|
|
} catch (error) {
|
|
console.error('เกิดข้อผิดพลาดในการทดสอบ', error);
|
|
isLoginSuccessful = false;
|
|
throw error;
|
|
}
|
|
await page.waitForTimeout(2000);
|
|
console.log('ระบบสามารถลบบุคคลากรเอเจนซี่ออกจากระบบได้');
|
|
});
|