惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
V
Visual Studio Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
C
Check Point Blog
D
Docker
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
博客园 - 叶小钗
博客园 - 聂微东
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
腾讯CDC
S
SegmentFault 最新的问题
博客园 - 【当耐特】

博客园 - coffee~

在微信端使用Openclaw的简单配置方法--WorkBuddy 使用Termux+Proot-distro+Ubuntu+zsh在手机端配置安装Openclaw,使用Skillhub安装skill, 接入企业微信 npm切换下载源为国内的镜像源 一加13刷氧系统--OxygenOS 15 for oneplus 13 Cypress实现拖拽 git基本命令 使用Playwright进行Web页面UI自动化测试 Python获取星期几 cd命令切换目录简写 win10在任意位置安装Linux子系统WSL Ubuntu pixel刷机没有退出谷歌账号,无法跳过开机验证 Python在一个文件中引用另一个文件的所有变量 pycharm给代码批量添加tab/取消添加tab 用Pycharm把浏览器复制出来的headers/参数给字段和值分别加单引号 Python requests.get所有参数顺序、Python requests.post所有参数顺序 windows使用快捷按键进行截图、录屏 3个瓶盖可以兑换一瓶饮料,买了n瓶饮料,一共可以喝到多少瓶 Python由字符串生成字典 Python生成随机数 Python安装包国内镜像源 QQ飞车手游UI自动化测试尝试
Playwright使用Typescript实现在测试case文件中调用另一个文...
coffee~ · 2024-11-09 · via 博客园 - coffee~

前提:

(1)安装了nodejs

(2)创建了测试目录

(3)使用Vscode安装了Playwright插件

可以参考官方文档:https://playwright.dev/docs/getting-started-vscode

在vscode界面最左侧的按钮选择Explorer, 创建一个与tests目录同级的目录methods,并在methods目录下创建文件method1.ts,

目录结构如下:

在文件method1.ts中定义方法

export async function testArea1({page}, locator1:string, locator2:string, expectText1:string){
  await page.goto(https://www.google.com);
  await page.click(locator1);
  await expect(page.locator2).toHaveText(expectText1);
}

在tests目录下的测试case, 即.spec.ts文件中使用这个方法

需要添加import语句,注意目录层级问题,./表示同一级目录, ../表示上一级目录


import { test, expect } from '@playwright/test';

import { testArea1 } from '../methods/method1';

test('测试case1', async ({ page }) => {
  await page.goto('https://playwright.dev/');

  // 这里的'div1', 'div2'为伪代码,需要换成页面元素定位locator字符串
  await testArea1({page}, 'div1', 'div2', 'google');
});

注意这里的'div1', 'div2'为伪代码,需要换成页面元素定位locator字符串