кипарис бегун игнорируя тег html charset = "windows-1252" - PullRequest
0 голосов
/ 17 марта 2019

Я тестирую страницу, которая закодирована в Windows-1252, в HTML есть следующие метатеги:

<html>
<head>
  <title>Meta-SSC</title>
  <meta http-equiv="Content-Type" content="text/html">
  <meta charset="windows-1252">

Но бегун кипарисов не поймает ее и не сможет правильно отобразитьтакие символы, как á, é и т. д., например:

cypress runner ignoring windows 1252 charset html meta tag

Мой тест не пройден из-за этого.

С другой стороныстороны, при тестировании на chrome (версия 72.0.3626.121, официальная сборка, 32-разрядная версия работает под управлением windows 10) или firefox (65.0.2, 64 бита), все работает нормально:

enter image description here

Любая идея, как я мог бы устранить ее?


Обнаружено эта проблема на Cypress 'github, которая может быть связана.

1 Ответ

0 голосов
/ 20 марта 2019

Это действительно известная проблема

Это обходной путь, который я разработал:

Cypress.Commands.add('containsLike', {
  prevSubject: true
}, (subject, search, chars) => {

  chars = chars || 'áéíóúñÁÉÍÓÚÑ'
  if (!Array.isArray(chars)) chars = chars.toString().split('')

  chars.forEach( char => {
    const repAllChars = new RegExp(char, 'g') // see: https://stackoverflow.com/a/17606289/47633
    search = search.replace(repAllChars, '.')
  })

  const regExp = new RegExp('^' + search + '$')
  return cy.wrap(subject).contains(regExp)
})

, и я использую его так:

describe('my first test', () => {
  it.only('should pass', () => {
    cy.visit('http://localhost/xxxx/yyy.asp')
      .get('div.flash_error span')
      .containsLike('El código de la aplicacion no puede estar vacío.')
// it runs .contains(/^El c.digo de la aplicacion no puede estar vac.o\.$/)
  })
})
...