问题标签 [cypress]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - cy.get() 使用 ng-model 属性输入?
假设我有以下带有两个输入元素的表单。
要让 Cypress.io 填写文本输入,我应该使用如下代码
文本输入没有类、名称或 ID,所以我想知道是否可以使用“ng-model”属性选择文本输入?
angular - 带有 Google 登录弹出窗口的 Angular Cypress.io 测试
是否可以使用 Google 身份验证弹出窗口通过 Cypress.io 登录 Google 帐户?
我可以打开窗口,但赛普拉斯无法检测到电子邮件输入字段的 ID。
错误是:“CypressError:重试超时:应找到元素:'#identifierId',但从未找到它。”
javascript - 使用 Django RGBField 找不到 jQuery
我正在处理的项目使用了一个 RGBField,它将这个脚本插入到模板中(它在 django 的深处某处,因为我找不到它所在的位置):
在控制台中我收到一个错误:Uncaught ReferenceError: jQuery is not defined
我无法检查错误发生的位置,但删除 RGBField 可以防止该问题。
项目中使用了 Jquery,如果我在模板本身中使用 jQuery,它可以正常工作(因此模板本身不是问题)。
我已将 django-jquery 添加到项目中,并包含{% load staticfiles %}
在模板的开头。不能解决问题。
我一直很高兴地忽略了整个事情,但现在我需要用这个页面编写一个柏树测试,错误阻止了测试。
赛普拉斯有没有办法忽略这个错误?或者有没有办法从一开始就防止错误发生?RGBField 是否有一个标志来关闭对 jquery 的检查?
运行'django' in window
产生false
,运行django.jQuery
产生错误。运行'django' in window && django.jQuery
产生false
所以理论上应该采用第二个选项,当我在控制台中运行时它很好(但显然我错过了一些东西)。
编辑:
已安装应用程序列表:
cypress - 如何使用 Cypress.io 断言文件下载已启动而没有实际下载?
通过设置启动下载
我希望尽可能接近地断言下载会成功,但不会实际执行下载。可以假设 URL 是正确的。
cypress - 在确定请求的 URL 是否是第二个唯一域之前,让赛普拉斯解析重定向
假设我得到了"baseURL" : "https://www.example.com"
.
我还有一个 htaccess 重定向到从 http 到 https 的 301 请求。
如果我尝试cy.visit(/about)
,我会得到:
CypressError: cy.visit() 失败,因为您正在尝试访问第二个唯一域。
我无法手动更改 URL,因为解析站点导航的结果将其传递给赛普拉斯。
我了解赛普拉斯试图警告我,我将通过切换协议离开域,它应该这样做,因为这可能会导致各种与会话相关的问题。
但是,由于我正在重定向回正确的协议,因此我正在寻找一种方法来告诉赛普拉斯在决定是否应该触发错误之前解决重定向。
我可以通过 hack 来解决这个问题,比如检查我传递的 URL 是否与协议cy.visit()
匹配,baseURL
但我不希望这样做,因为这会掩盖诸如重定向因任何原因被删除以及用户在移动时失去会话等问题从 https 到 http。
cypress - 在 Cypress 中单击时无法解析对话框
我遇到了一个问题,当我在对话框中单击提交时,对话框上的解决事件应该调用一个函数。单击按钮时对话框关闭,但从未调用 api 函数(从开发工具中可以看出)。如果我停止测试并在 cypress 浏览器中手动执行该操作,它将调用该函数。我不确定为什么手动点击与测试运行者点击的行为不同?
npm - 在 cypress js 上运行测试之前提供 SPA
使用 Cypress,我可以轻松测试我的开发子域。我有一个角度/反应应用程序,当我制作dist
(包括index.html
)时,我想对构建的文件运行赛普拉斯测试。
不幸的是,在开始赛普拉斯测试之前,我不知道如何提供dist
文件夹(如serve
package of )。npm
我知道我可以index.html
在另一个终端选项卡上提供服务,但这不会在 CircleCi(我的 CI)上发生。
无论如何,赛普拉斯可以在开始实际测试之前替换本地主机并提供静态文件吗?
cypress - 如何在赛普拉斯的所有测试套件之前执行代码?
基本上,我想在所有文件中的所有测试执行之前登录一次。
我应该使用 before 钩子在每个测试文件中调用我的登录命令,还是有什么方法可以在所有测试之前执行一次?
cypress - 赛普拉斯吸收所有可用内存
我在赛普拉斯占用我所有可用内存 (16Gb) 时遇到严重问题。我有 30 多个测试,如果我尝试一次通过 UI 运行它们,那么 Cypress 会逐渐使用我所有的可用内存,然后通常会因测试超时错误而失败。关闭赛普拉斯 UI 总是会恢复所有内存。我已经看到https://github.com/cypress-io/cypress/issues/431建议设置numTestsKeptInMemory
为 0 但这没有什么区别,在无头模式下运行cypress run
也没有任何区别:最终我所有的记忆都被吸收了.
同样在我一直在使用的测试的开发过程中,it.only
即使一次只运行一个测试,内存也会逐渐被吸收,直到需要重新启动赛普拉斯。
我在 Ubuntu 16.04 (elementaryOS Loki) 上使用 Cypress 1.4.1
其他人有同样的麻烦吗?
node.js - 赛普拉斯无法在 Windows 上启动
我刚刚使用“npm install cypress --save-dev”安装了 Cypress,并确认安装成功,详情如下
- 下载赛普拉斯
- 解压柏树
- 安装完毕
尝试使用提示打开赛普拉斯: node_modules.bin\cypress open 但收到以下消息但未列出错误。有没有人遇到过这个?
“看起来这是您第一次使用 Cypress:1.4.1
→ 赛普拉斯版本:1.4.1 赛普拉斯无法启动。
这通常是由缺少库或依赖项引起的。
下面的错误应该表明缺少哪个依赖项。
https://on.cypress.io/required-dependencies
如果您使用 Docker,我们会提供安装了所有必需依赖项的容器。
平台:win32 (10.0.14393) 赛普拉斯版本:1.4.1"