大多数测试工具(如Selenium)都是在浏览器外运行,通过网络执行远程命令。赛普拉斯正好相反。Cypress在与Web应用程序相同的运行循环中执行。Cypress的背后是一个Node服务器进程。Cypress和Node进程不断地相互通信、同步和执行任务。访问这两个部分(即相应的前台和后台操作)使我们能够实时响应Web应用程序中的事件,同时在浏览器之外执行需要更高权限的任务。赛普拉斯还通过直接在网络层操作来动态读取和更改网络流量。这使得赛普拉斯不仅可以修改进出浏览器的所有内容,还可以更改可能干扰其自动化浏览器能力的代码。Cypress最终从上到下控制着整个自动化过程,这使其处于能够理解浏览器内外发生的一切的独特地位。由于Cypress安装在测试开发人员的机器上,它还可以接入操作系统来执行自动化任务。这使得执行截屏、录制视频、一般文件系统操作和网络操作等任务成为可能。执行命令行npxcypressopen,遇到错误信息:$npxcypressopen看来这是你第一次使用Cypress:10.4.0Cypressfailedtostart。这可能是由于缺少库或依赖项。https://上。cypress.io/require...请参阅下面的错误以获取更多详细信息。[0815/165943.734:FATAL:v8_initializer.cc(525)]ErrorloadingV8startupsnapshotfilePlatform:win32-x64(10.0.19044)CypressVersion:10.4.0从package-lock.json文件可以看出使用的Cypress版本是10.4.0:我们可以从gitcode找到v8_initializer.cc的源码:https://gitcode.net/mirrors/c...//staticvoidV8Initializer::LoadV8SnapshotFromFile(base::Filesnapshot_file,base::MemoryMappedFile::Region*snapshot_file_region,V8SnapshotFileTypesnapshot_file_type){if(g_mapped_snapshot)return;if(!snapshot_file.IsValid()){)
