如果赛普拉斯还没有

时间:2019-02-18 09:37:08

标签: cypress

我在赛普拉斯的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");
});
}

2 个答案:

答案 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

有不错的读物