javascript - Cypress 最佳实践 - 存储和比较两个值

标签 javascript cypress

我想存储一个值,然后执行一个操作并断言该值没有改变。我确实有一个有效的代码,但如果有更优雅的解决方案,我想提供意见。

基本思路是:

  • 获取显示的数字或结果('counts'),将其存储在 .then() 函数中
  • 改变用途
  • 获取显示的结果数('new_counts'),将其存储在新的 .then 函数中
  • 在第二个 .then() 函数中比较计数和 new_counts
describe('Store and compare a value', () => {
    it('store and compare', () => {

        cy.login()
        cy.visit('url2')
        cy.get('.total-count-results').invoke('text')
            .then((text) => {
                const counts = text 
                cy.get('.medium.col100 > .filterwrapper > input').type('Test Dummy',{force: true})
                cy.get('.medium.col100 > .filterwrapper > input').type('{enter}')
                cy.get('.total-count-results').invoke('text')
                    .then((text) => {
                        const new_counts = text
                        expect(new_counts).to.eq(counts)
                    })
            })
    })
})

这是我能想到的处理异步性的最佳方法。

最佳答案

我认为不需要别名。这是我在本地测试的解决方案。我将大部分代码保留在 Alapan Das 的 answer 中所以更容易比较。对我来说,没有别名似乎更简洁、更容易阅读。

describe('Store and compare a value', () => {
    it('store and compare', () => {  
        cy.login()
        cy.visit('url2')
        cy.get('.total-count-results').invoke('text')
            .then((previousText) => {
                cy.get('.medium.col100 > .filterwrapper > input').type('Test Dummy',{force: true})
                cy.get('.medium.col100 > .filterwrapper > input').type('{enter}')
                cy.get('.total-count-results').invoke('text').should("eq", previousText)
            })
    })
})

关于javascript - Cypress 最佳实践 - 存储和比较两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69359211/

相关文章:

javascript - 单击基于标签名称的复选框

javascript - 类型 'checked' .ts(2339) Angular 上不存在属性 'EventTarget'

javascript - ajax调用后为什么不能浏览到其他页面?

javascript - 将第三方 cookie 异常添加到 Cypress 配置中

Cypress 撤消输入文本

javascript - Cypress 在命令日志中看不到请求

javascript - 每次加载页面时运行 javascript

javascript - 访问 JSON 中的变量?

angularjs - 从 Cypress 访问 ng-if 值

javascript - 如何指定基本文件路径以在 Cypress.io 中导入文件?