我在赛普拉斯的if-else
遇到问题。我有3个问题。和问题不一致,总是在变化。因此,我想为特定问题设置答案。错误是,每当问题B出现时,赛普拉斯都无法跳过问题A并停止。赛普拉斯没有阅读我的“如果”和“其他”,而且我也无法理解它为什么发生。
这是我的代码:
let disabled = null;
cy.contains("What is your dream car brand?").then(() =>
{disabled = true;
cy.get("input[name=securityQues]").type("Ferrari");
cy.end();
});
if (disabled == false) {
cy.contains'("What is your favorite movie?").then(() => {
cy.get ("input[name=securityQues]").type("Forrest Gump");
});}
else
{
cy.contains("Where is your favourite place to vacation?").then(() => {
cy.get("input[name=securityQues]").type("Japan");
});
}
答案 0 :(得分:0)
尝试使用其他方式查找有问题的主要元素。 .contains
在这种情况下将不起作用。尝试使用.get('css-selector')
,然后可以适当地访问该元素。在此处查看示例:https://github.com/valor-software/ngx-bootstrap/blob/development/cypress/support/timepicker.po.ts#L117
答案 1 :(得分:0)
不建议在用户界面上进行条件测试,因为您的测试将永远无法确定。我会告诉您尝试找到一种解决方法,以测试您要测试的内容。
这里https://docs.cypress.io/guides/core-concepts/conditional-testing.html#The-problem
有不错的读物