超详细的 web 自动化教程 (四)— TestCafe 页面基本操作

本贴最后更新于 1295 天前,其中的信息可能已经时过境迁

超详细的web自动化教程(四)— TestCafe页面基本操作

前言

前段时间给大家介绍了TestCafe的基本使用和元素定位。今天主要给大家介绍一下testcafe这个框架和页面元素交互的方法。

一、互动要求

使用TestCafe与元素进行交互操作,元素需满足以下条件:

二、点击操作

关于对元素进行点击操作,使用testcafe提供了三个方法,分别为单击、双击、鼠标右击,接下来我们一起来了解一下鼠标操作的使用方法。

1、单击

test('click test', async t => {
    await t.click('#su');
});

2、双击

test('doubleClic test', async t => {
    await t.doubleClick('#su')
});

3、右击

test('rightClick test', async t => {
    await t.rightClick('#cell-1-1')
});

三、输入操作

import { Selector } from 'testcafe';

fixture('Example').page('https://www.baidu.com');

test('Type Text test', async t => {
    await t
    	.typeText('#kw', '柠檬杯')
})

四、键盘按键

在测试的操作中,如果涉及到键盘按键的操作,那么testcafe中也提供了很方便的方法pressKey。

按键类型 例子
字母、数字键 'a''A''1'
修饰键 'shift''alt''ctrl'
导航键和动作键 'backspace''tab''enter'
按键组合 'shift+a''ctrl+v'
顺序按键 使用空格分隔多个案例操作,例如,'ctrl+c ctrl+v'
test('enter test', async t => {
    // 按下 a 键
    await t.pressKey('a')
     // 按下 shift+a 键
    await t.pressKey('shift+a')
     // 先按下 ctrl+c复制,再按ctrl+v粘贴
    await t.pressKey('ctrl+c ctrl+v')
  
});

五、文本选择

关于表单或者 textarea 这类可编辑的元素,在进行输入之前,如果要选中原有的文字内容,并进行删除操作,则需要先选择文本,然后再进行删除

import { Selector } from 'testcafe';

fixture('Example').page('https://www.baidu.com');

test('Type Text test', async t => {
	// 输入 柠檬班
    await t.typeText('#kw', '柠檬杯')
    	// 选中输入的文本
    	.selectText('#kw')
    	// 按下删除键   删除输入的文本
        .pressKey('delete');
})

六、鼠标悬停

import { Selector } from 'testcafe';

fixture('Example').page('https://www.baidu.com');

test('Type Text test', async t => {
	// 鼠标悬停在百度页面顶部的更多菜单上
    await t.hover('a[name="tj_briicon"]')
})

七、强制等待

在我们执行测试时,对于某个操作后,如果需要强制等待一段时间则可以使用t.wait方法来进行强制等待。

import { Selector } from 'testcafe';

fixture `百度测试`
    .page `https://www.baidu.com`;

test('Wait test', async t => {
    await t
    	// 输入柠檬班
    	.typeText('#kw', '柠檬班')
    	// 强制等待3秒
        .wait(3000)
    	// 点击搜索
    	.click('#su')
  
});

八、窗口管理

1、打开新窗口

2、关闭窗口

九、调整窗口大小

1、窗口最大化

2、调整窗口大小

3、调整窗口大小适配设备屏幕

1 操作
mslemonban 在 2021-04-29 15:53:50 更新了该帖
回帖
请输入回帖内容 ...