Cypress 简明教程
Cypress - Frames
早期版本的 Cypress 无法访问框架中的元素。但是,最近的版本有针对框架的解决方案。
要使用框架,首先,我们必须使用以下命令安装 Cypress 插件:
npm install –D cypress-iframe
将显示的屏幕如下所示:
对于 Cypress 中的框架实现,我们必须在代码中添加语句*import ‘cypressiframe’*。标签名 frame/iframe 用于表示 HTML 代码中的框架。
以下屏幕将出现在您的计算机上:
Cypress 命令 frameload 用于将焦点从主页移到框架。一旦焦点转移,我们就可以与框架内的元素进行交互。
这是通过 cy.iframe 方法完成的。
Implementation
下面通过使用 cy.iframe 方法给出了 Cypress 框架命令的实现:
import 'cypress-iframe'
describe('Tutorialspoint Test', function () {
// test case
it('Test Case6', function (){
// launch URL
cy.visit("https://jqueryui.com/draggable/");
// frame loading
cy.frameLoaded('.demo-frame');
//shifting focus
cy.iframe().find("#draggable").then(function(t){
const frmtxt = t.text()
//assertion to verify text
expect(frmtxt).to.contains('Drag me around');
cy.log(frmtxt);
})
});
});
Execution Results
输出如下 −
执行日志显示了在框架中访问的元素以及其中获取的文本。
Cypress 无法处理页面中的多个框架。
此外,对于 Cypress 中的 Frame Intellisense,我们可以将 /// <reference types = "Cypressiframe"/> 添加到代码中。