Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用cypress运行测试时出现错误“;未捕获类型错误:无法设置属性';innerHTML';“无效”的定义;_Cypress - Fatal编程技术网

使用cypress运行测试时出现错误“;未捕获类型错误:无法设置属性';innerHTML';“无效”的定义;

使用cypress运行测试时出现错误“;未捕获类型错误:无法设置属性';innerHTML';“无效”的定义;,cypress,Cypress,我是Cypress新手,尝试使用独立的Cypress测试RubyonRails web应用程序 下面是测试代码 /// <reference types="cypress" /> context('Login', () => { it('cy.title() - get the title', () => { cy.visit('https://apps.novabadmintonclub.com') cy.title().should('inc

我是Cypress新手,尝试使用独立的Cypress测试RubyonRails web应用程序

下面是测试代码

/// <reference types="cypress" />

context('Login', () => {


  it('cy.title() - get the title', () => {
    cy.visit('https://apps.novabadmintonclub.com')
    cy.title().should('include', 'Northern Virginia Badminton Club')
    cy.get(':nth-child(2) > .nav-link').click()
    cy.get("#user_email").type("john.doe@gmail.com")
    cy.get("#user_password").type("xx")
    cy.get('.actions > input').click()

  })
})

//
上下文('Login',()=>{
它('cy.title()-获取标题',()=>{
参观https://apps.novabadmintonclub.com')
cy.title().应('包括','北弗吉尼亚羽毛球俱乐部')
cy.get(':第n个子(2)>.nav链接')。单击()
cy.get(“#user_email”)。键入(“john。doe@gmail.com")
cy.get(“#用户密码”)。键入(“xx”)
cy.get('.actions>input')。单击()
})
})
测试失败,错误为“Uncaught TypeError:无法将属性'innerHTML'设置为null”

我正在OSX上使用最新版本的Cypress 4.3.0

如果我将访问url直接更改为登录页面
https://apps.novabadmintonclub.com/users/sign_in
,工作正常


因此,在
type
开始添加文本或其他内容之前,似乎没有呈现整个dom

同样使用最新的cypress版本,请确保您也正在关闭您的声明。 我也没有这样做,但我总是建议在得到语句后进行断言,这样断言您输入的值实际上是存在的

describe('stack overflow test', () => {
it('should navigate and attempt to login to badminton club', () => {
    cy.visit('https://apps.novabadmintonclub.com');
    cy.get(':nth-child(2) > .nav-link').click({force: true});
    cy.get('#user_email').type('john.doe@gmail.com');
    cy.get('#user_password').type('xx');
    cy.get('.actions > input').click();
});
}))

下面是CypressGUI的屏幕截图,以证明它会弹出错误消息


这个问题确实是一个应用程序代码错误。我让javascript代码
document.getElementById('clock')。innerHTML
查找不存在的dom ID,因此出现了错误。在我为该dom ID添加了空检查之后,Cypress测试工作正常。

很抱歉,我没有为我工作。同一问题如下所示![截图]()很遗憾,我不能复制这个。你能提供浏览器版本和运行测试的方式吗?我使用以下命令运行cypress:
/node\u modules/.bin/cypress open
,根据cypress控制台应用程序,chrome版本很有趣,是的,上面的代码块我根本无法复制。你试过在导航点击后等待吗?几秒钟?