我正在使用Javascript,剧作家和Chai断言。当我尝试验证按钮是否启用(Chai断言)时,执行失败。
async wasEmail100CharactersFilled() {
//expect(verifyEmailButton).to.not.be.disabled() //Not working
should.exist(verifyEmailButton.toBeEnabled()) //Not working
}
验证邮件按钮是一个字符串。
有谁能帮我一下吗?
这是被禁用时的元素:
<button type="button" class="btn btn-primary min-h-0 h-10 w-full rounded-full flex-shrink-0 capitalize rounded-full normal-case disabled:cursor-not-allowed text-sm" xpath="1" disabled=""><i class="hidden h-6 w-0 "></i>Verify Email<i class="hidden h-6 w-0 "></i></button>
启用时相同:
<button type="button" class="btn btn-primary min-h-0 h-10 w-full rounded-full flex-shrink-0 capitalize rounded-full normal-case disabled:cursor-not-allowed text-sm" xpath="1"><i class="hidden h-6 w-0 "></i>Verify Email<i class="hidden h-6 w-0 "></i></button>
我仍然尝试用这个断言的字符串,但它不工作:
await page.$eval(verifyEmailButton, el => el.classList.contains("disabled"));
应该是:
await expect(page.$('.btn')).toBeEnabled(true);
你可以看到你必须设置一个元素,而不是一个字符串
这是我唯一有效的方法:
if(await page.$eval(verifyEmailButton, el => el.disabled = true)){
console.log("Button is Disabled")
} else {throw Error("Button is Enabled");}
}
谢谢你的帮助。