录制调式 命令
npx playwright codegen url
npx playwright codegen https://www.baidu.com/
typescript 中 format 和 split 的使用
import * as util from 'util';const str1= 'hellow %s';
const format = util.format;
const str2 = format(str1, 'word');// 提取taskId
const str3 = 'https://www.baidu.com/taskId=123456'
const parts = taskIdText!.split('=');
const taskId = parts[parts.length - 1];
鼠标悬停
await page.locator('').hover();
获取元素属性 如id
const eleId= await page.locator('').getAttribute('id');
判断元素是否存在, 存在返回true 不存在返回false
const eleme = page.locator('');
// 检查元素是否存在
const exists = (await eleme.count()) > 0;
console.log(exists )
元素可见不可点击,使用JavaScript触发点击事件
// 或者使用JavaScript触发点击事件
await page.evaluate(() => {const element = document.querySelector('.highlight-keyword') as HTMLElement;if (element) {element.click();}
});
toBe () 和 toContain()
toBe() 和 toContain() 是 Jest 测试框架中的两个不同的断言方法,它们用于验证测试中的预期结果。以下是它们的用法和区别:
- toBe(): 这个方法用于比较两个值是否相等。它会检查两个值的类型和值是否完全相同。例如:
test('2 + 2 should be 4', () => {expect(2 + 2).toBe(4);
});
在这个例子中,我们使用 toBe() 方法来验证 2 + 2 的结果是否等于 4。
- toContain(): 这个方法用于检查一个数组或字符串是否包含特定的元素或子字符串。例如:
test('Array should contain 3', () => {const numbers = [1, 2, 3, 4, 5];expect(numbers).toContain(3);
});test('String should contain "world"', () => {const greeting = 'Hello, world!';expect(greeting).toContain('world');
});
在第一个例子中,我们使用 toContain() 方法来验证数组 numbers 是否包含元素 3。在第二个例子中,我们使用 toContain() 方法来验证字符串 greeting 是否包含子字符串 ‘world’。
总之,toBe() 和 toContain() 是 Jest 测试框架中的两个不同的断言方法,分别用于验证两个值是否相等以及数组或字符串是否包含特定的元素或子字符串。