68 lines
2.3 KiB
JavaScript
68 lines
2.3 KiB
JavaScript
import { test, expect } from '@playwright/test';
|
|
|
|
test('Login page', async ({ page }) => {
|
|
// Navigate to the login page
|
|
await page.goto('http://185.100.212.76:8200');
|
|
|
|
await page.getByPlaceholder('Email').fill('nalvazhuthi@hexrfactory.com');
|
|
await page.getByPlaceholder('Password').fill('123456');
|
|
await page.waitForTimeout(3000);
|
|
await page.getByRole('button', { name: 'Continue', exact: true }).click();
|
|
await page.waitForTimeout(3000);
|
|
|
|
});
|
|
import { test, expect } from '@playwright/test';
|
|
import fs from 'fs';
|
|
|
|
test('Draw walls on canvas using precise coordinates', async ({ page }) => {
|
|
// Setup
|
|
const screenshotDir = 'screenshots';
|
|
fs.mkdirSync(screenshotDir, { recursive: true });
|
|
|
|
// Login
|
|
await page.goto('http://185.100.212.76:8200');
|
|
await page.getByPlaceholder('Email').fill('ramkumar@tester.local');
|
|
await page.getByPlaceholder('Password').fill('123456');
|
|
await page.getByRole('button', { name: 'Continue', exact: true }).click();
|
|
|
|
// Switch to 2D mode and select wall tool
|
|
await page.locator('.toggle-option:has-text("2d")').click();
|
|
await page.getByTitle('Wall').getByRole('img').click();
|
|
|
|
// Take before screenshot
|
|
await page.screenshot({ path: `${screenshotDir}/before.png` });
|
|
|
|
// Draw wall using your exact coordinates
|
|
const canvas = page.locator('canvas');
|
|
|
|
// First wall segment
|
|
await canvas.click({ position: { x: 74, y: 111 } });
|
|
await canvas.click({ position: { x: 733, y: 100 } });
|
|
|
|
// Second wall segment
|
|
await canvas.click({ position: { x: 733, y: 594 } });
|
|
|
|
// Third wall segment
|
|
await canvas.click({ position: { x: 60, y: 593 } });
|
|
|
|
// Fourth wall segment (closing the wall)
|
|
await canvas.click({ position: { x: 74, y: 107 } });
|
|
|
|
// Finalize with right-click
|
|
await canvas.click({
|
|
button: 'right',
|
|
position: { x: 23, y: 129 }
|
|
});
|
|
|
|
// Take after screenshot
|
|
const afterPath = `${screenshotDir}/after.png`;
|
|
await page.screenshot({ path: afterPath });
|
|
|
|
// Verification
|
|
const canvasData = await canvas.evaluate(el => el.toDataURL());
|
|
expect(canvasData).not.toBe(''); // Canvas should have content
|
|
|
|
const beforeImg = fs.readFileSync(`${screenshotDir}/before.png`);
|
|
const afterImg = fs.readFileSync(afterPath);
|
|
expect(beforeImg.equals(afterImg)).toBe(false); // Screenshots should differ
|
|
}); |