Можно ли ввести текстовое поле, отображаемое в приглашении на Cypress, и нажать кнопку «ОК»? - PullRequest
0 голосов
/ 18 декабря 2018

Можно ли набрать на дисплее textbox в alert команду Cypress и нажать на ok внутри оповещения.Приведенный ниже тест отображает сообщение с предупреждением, но ничего не делает.

describe('Type some text inside the textbox in an alert', function() {
  it.only('Type some text inside the textbox test', function() {
    cy.visit('http://sometesturl.com')
    const stub = cy.stub()
     cy.on ('window:alert', stub)
     cy
      .get('#pidforinput').click()
      .then(($stub) => {
      const myWin = $stub.find('input');
      cy.wrap(myWin ).type("This is a text box");
    })
  })
})

// Ниже приведен мой js-код для отображения предупреждения и текстового поля внутри

function promptMessage() {
    var favColor = prompt("What is your favorite color?", "");
    if (favColor != null){      
    alert("Your favorite color is " + favColor);        
    }
    else {
    alert("You did not specify your favorite color");
    }
}

<input id="pidforinput" type="button" onclick="promptMessage()" value="Click here to specify your favorite color" />

1 Ответ

0 голосов
/ 18 декабря 2018

Так что прямо сейчас, согласно документации Cypress, вы можете использовать заглушки для изменения поведения таких подсказок, как это

cy.visit('http://localhost:3000', {
  onBeforeLoad(win) {
    cy.stub(win, 'prompt').returns('my custom message')
  }
})

cy.window().its('prompt').should('be.called')
cy.get('any_selector').should('have.value', 'my custom message')

Проверьте это для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...