部署并复检统一页面改造(05-30-deploy-unified-page-design-public-check)
这个提交包含在:
@@ -6,6 +6,8 @@ import { getExpectedWecomStatus, loginLiveUser, logoutLiveUser } from "./helpers
|
||||
import { fetchWecomConfig } from "./helpers/smokeAssertions";
|
||||
|
||||
const screenshotDir = path.resolve(process.cwd(), "../output/playwright/r104");
|
||||
const WECOM_UA =
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 wxwork/4.1.20 MicroMessenger/8.0.1 Language/zh_CN";
|
||||
|
||||
function screenshotPath(fileName: string) {
|
||||
mkdirSync(screenshotDir, { recursive: true });
|
||||
@@ -30,7 +32,8 @@ test.describe("R104 public visual acceptance", () => {
|
||||
await expect(page.getByTestId("login-identifier")).toBeVisible();
|
||||
await expect(page.getByTestId("login-password")).toBeVisible();
|
||||
await expect(page.getByTestId("login-submit")).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: /企业微信/ })).toBeVisible();
|
||||
await expect(page.getByTestId("wecom-entry-browser-notice")).toBeVisible();
|
||||
await expect(page.getByTestId("wecom-entry-browser-notice")).toContainText("企业微信一键进入");
|
||||
|
||||
const wecomConfig = await fetchWecomConfig(page);
|
||||
expect(wecomConfig.status).toBe(200);
|
||||
@@ -42,15 +45,24 @@ test.describe("R104 public visual acceptance", () => {
|
||||
await page.screenshot({ path: screenshotPath("desktop-login.png"), fullPage: true });
|
||||
});
|
||||
|
||||
test("公网企业微信入口跳转到 OAuth 边界", async ({ page }) => {
|
||||
await page.setViewportSize({ width: 390, height: 844 });
|
||||
test("公网企业微信 WebView 入口跳转到 OAuth 边界", async ({ browser }) => {
|
||||
const context = await browser.newContext({
|
||||
viewport: { width: 390, height: 844 },
|
||||
isMobile: true,
|
||||
hasTouch: true,
|
||||
userAgent: WECOM_UA,
|
||||
locale: "zh-CN",
|
||||
serviceWorkers: "block",
|
||||
});
|
||||
const page = await context.newPage();
|
||||
await page.goto("/login");
|
||||
|
||||
await expect(page.getByRole("button", { name: /企业微信/ })).toBeVisible();
|
||||
await expect(page.getByTestId("wecom-entry-primary")).toBeVisible();
|
||||
await page.screenshot({ path: screenshotPath("mobile-login-before-wecom.png"), fullPage: true });
|
||||
|
||||
await page.getByRole("button", { name: /企业微信/ }).click();
|
||||
await page.getByTestId("wecom-entry-primary").click();
|
||||
await expect(page).toHaveURL(/open\.weixin\.qq\.com|work\.weixin\.qq\.com|wechat_redirect/);
|
||||
await context.close();
|
||||
});
|
||||
|
||||
test("公网员工移动工作台与高频页面保持移动体验", async ({ page }) => {
|
||||
|
||||
在新工单中引用
屏蔽一个用户