If statement Cypress中的If-Else语句

If statement Cypress中的If-Else语句,if-statement,cypress,If Statement,Cypress,我对cypress中的if-else有问题。我有三个问题。而且问题并不一致,总是在变化。所以我想为具体的问题设定一个答案。错误是,无论何时出现问题B,cypress都不能跳过问题A,并且会停止。Cypress没有读我的if和else,我不明白为什么会这样 这是我的密码: let disabled = null; cy.contains("What is your dream car brand?").then(() => { disabled = true; cy.get("i

我对cypress中的
if-else
有问题。我有三个问题。而且问题并不一致,总是在变化。所以我想为具体的问题设定一个答案。错误是,无论何时出现问题B,cypress都不能跳过问题A,并且会停止。Cypress没有读我的if和else,我不明白为什么会这样

这是我的密码:

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");
  });
}

试着用另一种方式通过一个问题找到你的主要元素
.contains
在这种情况下不起作用。尝试使用
.get('css-selector')
,然后您可以适当地访问该元素。请参见此处的示例:

完全不鼓励对用户界面进行条件测试,因为您的测试永远不会是确定性的。我会告诉你,试着找到一个解决方法,来测试你想要测试的东西


这里有一个很好的阅读

你能描述一下这个问题吗?你有什么错误吗?这里我有三个问题。而且问题并不一致,总是在变化。所以我想为具体的问题设定一个答案。错误是,无论何时出现问题B,cypress都不能跳过问题A,并且会停止。柏树没有读我的“如果”和“其他”。为什么cypress不能阅读我的if-else部分?我想你应该使用jquery来测试各种文本,例如
let carQuestion=cypress.$('div:contains(“你的梦想汽车品牌是什么”);if(carQuestion).
cy.contains(…)
有一个内置测试,当文本不存在时会失败。更好的方法是将其分解为每个问题的单独测试,并通过fixture控制哪个问题显示。