原理:
使用cypress替代selenium
使用cypress框架和合约测试框架Pact一起构建新的UI自动化
这种方式的UI自动化稳定性和运行速度要远优于传统selenium的方式,在不少公司尤其是外企应用的越来越多
一、什么是selenium呢?
https://zhuanlan.zhihu.com/p/47831129
那在WebDriver脚本运行的时候,它们之间是如何通信的呢?为什么同一个browser driver即可以处理java语言的脚本,也可以处理python语言的脚本呢?
让我们来看一下,一条Selenium脚本执行时后端都发生了哪些事情:
1、对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动
2、浏览器驱动中包含了一个HTTP Server,用来接收这些http请求
3、HTTP Server接收到请求后根据请求来具体操控对应的浏览器
4、浏览器执行具体的测试步骤
5、浏览器将步骤执行结果返回给HTTP Server
6、HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。
现在到了最关键的http请求及响应的body部分了:
body部分主要传送具体的数据,在WebDriver中这些数据都是以JSON的形式存在并进行传送的,这就是JSON Wire protocol。