如何从 JavaScript 中的其他 method/function 获取值
How to get the value from other method/function in JavaScript
我是 Cypress 和 JavaScript 的新手,请帮助我解决这个问题以了解更多信息
我必须使用 cypress 来自动化网站以验证 EMI 值。
下面是我的 .js 代码,我需要在其中实现 EMI 计算器逻辑并将其传递给另一个方法('it' 赛普拉斯中的块)。 'it' 块将从网站获取值,并应使用我在代码 EMILogic() 方法中 return 的 EMI 逻辑进行验证。
EMILogic() 将 return 一个值 (emi),我在 cy.get('#emi').should('have.text', EMIdata.emi) 但在执行代码时,我在 cypress 中遇到断言错误,因为 4000 毫秒后重试超时:预期 '' 未定义文本,但文字是“925.11”
describe('EMI Calculation', function () {
class abc{
EMILogic() {
const amount = 20000;
const rate = 5;
const month = 2;
let emi;
rate = rate/(12*100);
period = period*12;
emi = (amount*rate*Math.pow(1+rate, month))/(Math.pow(1+rate, month)-1);
return emi
}
}
下面是我需要从上面传递emi值的代码class
it('EMI calculator', function () {
const EMIdata = new abc();
cy.visit('emi-calculator.html')
cy.get('.MR15').click()
cy.get('#emi').should('have.text', EMIdata.emi)
})
})
问题:
const EMIdata = new abc();
这行代码表示EMIdata是classabc的一个对象。 class abc 上没有名为 emi 的成员变量。因此在使用 EMIdata.emi.
时你会得到一个 undefined
解决方案:
作为你的成员函数EMILogic
returns的emi值。您可以在 should 函数中使用 EMIdata.EMILogic()
来调用 EMILogic,而不是 EMIdata.emi
。
cy.get('#emi').should('have.text', EMIdata.EMILogic())
我是 Cypress 和 JavaScript 的新手,请帮助我解决这个问题以了解更多信息
我必须使用 cypress 来自动化网站以验证 EMI 值。
下面是我的 .js 代码,我需要在其中实现 EMI 计算器逻辑并将其传递给另一个方法('it' 赛普拉斯中的块)。 'it' 块将从网站获取值,并应使用我在代码 EMILogic() 方法中 return 的 EMI 逻辑进行验证。
EMILogic() 将 return 一个值 (emi),我在 cy.get('#emi').should('have.text', EMIdata.emi) 但在执行代码时,我在 cypress 中遇到断言错误,因为 4000 毫秒后重试超时:预期 '' 未定义文本,但文字是“925.11”
describe('EMI Calculation', function () {
class abc{
EMILogic() {
const amount = 20000;
const rate = 5;
const month = 2;
let emi;
rate = rate/(12*100);
period = period*12;
emi = (amount*rate*Math.pow(1+rate, month))/(Math.pow(1+rate, month)-1);
return emi
}
}
下面是我需要从上面传递emi值的代码class
it('EMI calculator', function () {
const EMIdata = new abc();
cy.visit('emi-calculator.html')
cy.get('.MR15').click()
cy.get('#emi').should('have.text', EMIdata.emi)
})
})
问题:
const EMIdata = new abc();
这行代码表示EMIdata是classabc的一个对象。 class abc 上没有名为 emi 的成员变量。因此在使用 EMIdata.emi.
时你会得到一个 undefined解决方案:
作为你的成员函数EMILogic
returns的emi值。您可以在 should 函数中使用 EMIdata.EMILogic()
来调用 EMILogic,而不是 EMIdata.emi
。
cy.get('#emi').should('have.text', EMIdata.EMILogic())