e2e测试框架之Cypress

摘要:
本文将介绍Cypress测试框架!这就是我选择学习赛普拉斯的原因。这种类型的测试框架统称为e2e测试或端到端测试。创建cypress_Sample练习目录:˃mkdircypress_Sample˃cdcypress_SSample安装赛柏:赛柏_ Sample˃npminstall赛柏--save dev启动赛柏:赛柏_ Sample˃/node_模块/。Bin/cypressopen首次启动Cypress,它为我们准备了丰富的示例。通过vscode_Sample项目打开柏树。对于Cypress来说,集成能力不够强。也许JavaScript也是一个门槛。

谈起web自动化测试,大家首先想到的是Selenium!随着近几年前端技术的发展,出现了不少前端测试框架,这些测试框架大多并不依赖于Selenium,这一点跟后端测试框架有很大不同,如Robot Framework做Web自动化测试本质上还是使用的Selenium,包括各语言的xUnit单元测试框架。

e2e测试框架之Cypress第1张

多吧!这还只是一部分呢?你以为这些都是不知名的小项目?错了!

e2e测试框架之Cypress第2张

我特地把Selenium加了进来,其中mocha和jtest在Github上的stats是多于Selenium的,剩下的其它项目也都不弱。

本文要介绍的是Cypress测试框架! why? 因为人家的文档都是带视频的。

e2e测试框架之Cypress第3张

看一下人家官方的文档,像这样的视频还有好几段,简直是对新手的宠爱。

看到这么好的教程,不学一学感觉都对不起人家,是的!这就是我选择了解一下Cypress的原因。


###官网:

https://docs.cypress.io

The web has evolved. Finally, testing has too.

Web已经进化了,最后,测试也有。

这类测试框架统称为e2e测试,即end to end(端到端)测试。理论上前端页面由前端框架来测试确实更为合适。这几天我在搭建UI自动化测试框架,顺便封装了一些元素定位,随着对前端技术的了解,我几乎将所有元素定位都换成了CSS,配合JS处理一些Selenium很难操作的元素,确实效率提高了很多,页面元素也没那么难操作了,包括学了点Jenkins的配置,当然,这个话题会放到下一次来分享。


###安装:

安装很简单,首先你要安装node.js。

创建cypress_sample练习目录:

> mkdir cypress_sample
> cd cypress_sample

安装cypress:

cypress_sample > npm install cypress --save-dev

启动cypress:

cypress_sample > ./node_modules/.bin/cypress open

第一次启动Cypress,它已经为我们准备了丰富的例子。

e2e测试框架之Cypress第4张

通过vs code 打开cypress_sample项目。

e2e测试框架之Cypress第5张

在examples/目录下面创建baidu.spec.js文件,代码如下:


describe('My First Test', function () {
    it('Does not do much!', function () {
        cy.visit("https://www.baidu.com")

        cy.get("#kw", {timeout: 2000}).type("cypress test")
       
        cy.wait(100)
       
        cy.get("#su", { timeout: 2000 }).click()

    })
})

上上图,找到在Tests列表中找到 baidu.spec.js文件,点击运行。

e2e测试框架之Cypress第6张

在VS code 中编辑保存脚本后,上图的窗口会自动执行,速度上比selenium快多了,Selenium启动浏览器怎么着也得3~5秒吧,上面的脚本不到2秒就跑完了,元素定位主要以CSS为主,这其实不是问题,CSS本来就很强大的说。

也许,这是未来前端测试的方向,至少对于前端人员来说,快速验证界面功能,我想不到有什么理由不选择它,而是Selenium。当然,对于测试人员,脚本的可维护性,报告的生成,以及与持续集成的结合都有一整套成熟的方案。对于Cypress来说(其它前端测试框架不了解),整合能力还不够强,可能JavaScript也是一个门槛。毕竟,这两年,大家刚学会Python。

免责声明:文章转载自《e2e测试框架之Cypress》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Golang: 接收GET和POST参数android adb常用指令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Selenium Python FirefoxWebDriver处理打开保存对话框

 代码如下(网上示例): #profile =  webdriver.FirefoxProfile(r"C:UsersSkyyjAppDataRoamingMozillaFirefoxProfiles1rzh6139.default")profile = webdriver.FirefoxProfile()##设置成0代表下载到浏览器默认下载路径;设置成2...

10款最好用的移动web开发工具

摘要: 对于新款手机来说,好的开发工具变得越来越重要。手机(尤其是iPhone和Android)中的小工具(小软件)非常的重要,而要开发这些小软件就要选择合适的开发工具。另外,HTML5提供了很多易于移动web开发的特性。例如,所有的网站都是开发放式的,不需要授权;... 对于新款手机来说,好的开发工具变得越来越重要。手机(尤其是iPhone和Androi...

一些值得收藏的开源框架

阅读本文大概需要 7.2 分钟。 来源:segmentfault.com/a/1190000017346799 1. 分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。 此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring C...

第四课——MFC应用程序框架

一、MFC应用程序类型 上篇文章的彩蛋:可通过使用MFC应用程序向导(MFC AppWizard)的功能来创建所需要的应用程序,这意味着不需要输入任何代码。MFC除了应用程序向导,还对应用程序项目有着独特的管理方式。 1. MFC AppWizard   作用:能为用户生成一些常用的标准程序结构和编程风格,它们被称为应用程序框架结构。   提供的应用程序框...

高起播低延时RTSP网页无插件流媒体播放器EasyPlayerRTSP插件使用说明

鉴于大家对于EasyPlayer-RTSP插件的使用还不太熟悉,特此写一篇插件的使用文档,供大家参考;EasyPlayer-RTSP插件有两种,一种是基于IE的ActiveX控件,一种是基于FireFox(也支持多浏览器)的npAPI插件; 两种插件均包含源码,由于FireBreath框架生成代码比较多,npAPI插件只包含关键代码,后续会提供专门讲解Fi...

三种Js深度学习框架介绍

谈到机器学习,我们脑海首先蹦出的编程语言是什么?一定是python。其实除了python,JavaScript也是不错的选择。都说现在是大前端时代,从移动开发、服务器端,甚至桌面软件开发(比如大名鼎鼎的VS Code),都有JavaScript的身影。   用Javascript写机器学习应用,当然不会从头开始手写机器学习算法和模型,通常会借助现有框架。我...