Codecept实现前端自动化测试
前言
CodeceptJS是一款UI测试自动框架,它结合了很多市面常见的UI测试自动化框架,
封装了大量的API,使得我们编写自动化脚本非常方便,而且相关文档也非常齐全。
Codecept.js官网
https://codecept.io/
需要node环境支持,可以前往官网根据自己环境下载安装node
https://nodejs.org/en/download/
1. 新建一个文件夹 node用来存放自动化脚本
2. 初始化npm
npm init -y
3. 安装环境
#先切换镜像为淘宝镜像
npm config set registry https://registry.npm.taobao.org
#然后安装Codecept.js
npm install codeceptjs puppeteer --save-dev
4.在当前目录中初始化Codecept.js
npx codeceptjs init
#执行初始化Codecept.js命令后,会出现如下图一个提示,这个提示是设置名称是以
#_test.js结尾的都会被当成测试用例执行,也可以自己定义成其他的。(操作完成直接
#回车)
#设置好测试用例后,选择如下图的一种脚本选择作为自动化脚本的工具,这里选择
#Pupeteer、可以使用上下按钮切换。(操作完成直接回车)
#紧接着会提示让选择日志、屏幕截图和报告存放的目录,这里选择默认,也可以根
#据需要自定义(操作完成直接回车)
#然后出现选择执行过程日志的语言类型、这里选择zh-CN(中文简体)
#接下来输入需要测试网址、输入我们需要测试的网址https://***.com
#选择是否打开浏览器、这个是设置我们的浏览器是正常模式还是无头模式
#然后设置浏览器大小、这个根据自己需要设置
#这个主要是用来说明我们要测试的功能,也就是测试用例的标题,可以随便起个
#名字,我写的logintest
#最后新建测试用例,这里就是测试用例的文件名,默认是Feature的名字加上之前
#设置的_test.js。然后新建就成功了
5. 编写自动化脚本
Feature('logintest');
// 定义变量
const SELECTORS = {
gotourl: 'https://gitee.com/login',
account: '',
pwds: '',
// 开源软件的selector
kyrj: '#git-header-nav > div > div > a:nth-child(4)',
};
Scenario('test something', ({ I }) => {
//在浏览器打开页面
//对应网址在Windows下可以不与codecept.conf.js中Puppeteer设定的url一致,mac下相反
I.amOnPage(SELECTORS.gotourl);
//打开浏览器等到可以看到对应文字再进行登录
I.see('登录');
//输入码云账号
I.fillField('手机/邮箱/个人空间地址', SELECTORS.account);
//输入码云密码
I.fillField('请输入密码', SELECTORS.pwds)
//点击登录按钮
I.click({css:'button, [type="submit"]'})
//跳转码云开源软件页
I.click(SELECTORS.kyrj);
//能够暂停执行进入交互模式 也就是执行完成会停留当前页面
pause();
});

6. 执行脚本
#使用cmd命令提示符,进入当前目录(即node文件夹下)输入命令
npx codeceptjs run --steps
7. 在自动弹出的浏览器中查看自动化效果
本次的学习到这里就结束了,会根据实际使用更新文章。
如果对您有帮助 请点个关注,万分感谢
(QQ招聘群 710566091
微信招聘群 请加图图微信)
Codecept实现前端自动化测试的更多相关文章
- 前端自动化测试工具doh学习总结(二)
一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动 ...
- 前端自动化测试工具doh学习总结(一)
前言 项目中需要用到前端自动化测试,自己被当作一个探针研究了下目前用的比较多的web自动化测试工具.一开始研究的是的selenium,但由于项目使用了大量的dijit控件,写起testCase来很费劲 ...
- 前端自动化测试漫长路之——Selenium初探
引言 最近想解决前端开发或测试中的两个问题:一是界面UI的布局适配,能否在测试的过程中,通过命令操作真机打开相应页面然后截屏,通过对图片识别分类,发现有问题的图片,然后及时修复:二是页面性能分析,很多 ...
- web前端自动化测试/爬虫利器puppeteer介绍
web前端自动化测试/爬虫利器puppeteer介绍 Intro Chrome59(linux.macos). Chrome60(windows)之后,Chrome自带headless(无界面)模式很 ...
- Web前端自动化测试Cypress实践总结
本文主要首先主要介绍了什么是自动化测试,接着对常用的自动化测试框架进行了对比分析,最后,介绍了如果将自动化测试框架Cypress运用在项目中. 一.自动化测试概述 为了保障软件质量,并减少重复性的测试 ...
- 前端自动化测试python+webdriver
前言:很多做测试的朋友的就知道,python+webdriver 可以做自动化测试,这对前端开发是非常有用的. python 入门我就不讲了 ,推荐学习 廖雪峰老师的python入门3.5新版哈 ...
- 前端自动化测试神器-Katalon的基础用法
前言 最近由于在工作中需要通过Web端的功能进行一次大批量的操作,数据量大概在5000左右,如果手动处理, 完成一条数据的操作用时在20秒左右的话,大概需要4-5个人/天的工作量(假设一天8小时的工作 ...
- 基于jest和puppeteer的前端自动化测试实战
前端测试现状 经常听到后端同学说“单元测试”,前端写过测试用例的有多少?答案是:并不多,为什么呢?两个主要原因 1.前端属于GUI软件,浏览器众多,兼容问题让人头大,用户量有一定规模的浏览器包括: I ...
- Puppeteer前端自动化测试实践
本篇内容将记录并介绍使用Puppeteer进行自动化网页测试,并依靠约定来避免反复修改测试用例的方案.主要解决页面众多时,修改代码导致的牵连错误无法被发现的运行时问题.文章首发于个人博客.对前端感兴趣 ...
随机推荐
- YouTube 视频下载工具
YouTube 视频下载工具 我不生产视频,只是优秀视频的搬运工! YouTube-dl https://github.com/search?q=youtube-dl https://github.c ...
- W3C & 弹幕
W3C & 弹幕 弹幕用例规范 Draft Community Group Report 21 August 2020 refs https://w3c.github.io/danmaku/u ...
- Dva & Umi
Dva & Umi Dva.js & Umi.js React & Redux https://dvajs.com/ React and redux based, lightw ...
- windows10 安装NASM
NASM官网 下载NASM NASM在线HTML文档 下载golink golink文档 NASM教程 in windows x64调用约定 x86调用约定 编码样式约定 在编写nasm时数字默认为1 ...
- [转]#include< > 和 #include” ” 的区别
原文网址:https://www.cnblogs.com/LeoFeng/p/5346530.html 一.#include< > #include< > 引用的是编译器的类库 ...
- H5 常见问题汇总及解决方案
原文链接:http://mp.weixin.qq.com/s/JVUpsz9QHsNV0_7U-3HCMg H5 项目常见问题汇总及解决方案 -- 由钟平勇分享 转自 https://github.c ...
- [Android 搞机]Twrp 中清除 data 和搞机清除的区别
近日搞机,用上了 Havoc OS.突然发现设置里有个"加密手机",于是手贱点了进去.手机立刻重启了,然后卡在开机第一屏.遂进 Twrp 高级清除中清除了 data 并重新刷入.重 ...
- Django Admin 配置和定制基本功能(基本二次开发配置)
一 列表显示页面 1. list_display,列表时,定制显示的列 @admin.register(models.UserInfo) class UserAdmin(admin.ModelAdm ...
- GPU 总结
What features of GPUs allow them to perform computations faster than a typical CPU? GPUs have a mass ...
- docker ssh秘钥免密登录
一.概述 有一台跳板机,已经实现了免密登录后端服务器.但是我写了一个django项目,它是运行在容器中的,也需要免密登录后端服务器. 虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置 ...