无法验证 Cypress 中的特殊字符串

Tau*_*ikh 0 javascript contains cypress

我必须使用 Cypress 验证网页上不同元素上的特殊字符串。

\n

特殊字符串是:T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi

\n

每当我尝试验证字符串时,我都会在 Cypress 中收到以下断言错误:

\n

AssertionError Timed out retrying after 4000ms: Expected to find content: \'T!@$^()-+, &-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi\' within the element: <label> but never did.

\n

以下是屏幕截图:\n在此输入图像描述

\n

下面是代码块:

\n
    cy.visit(\'public/special-character.html\')\n    \n    cy.get(\'label\').contains(\'T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi\');\n    cy.get(\'p\').contains(\'T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi\');\n   \n  })\n
Run Code Online (Sandbox Code Playgroud)\n

还附上了一个示例 HTML 页面:

\n

\r\n
\r\n
    cy.visit(\'public/special-character.html\')\n    \n    cy.get(\'label\').contains(\'T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi\');\n    cy.get(\'p\').contains(\'T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi\');\n   \n  })\n
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

use*_*029 9

这看起来像一个错误。

\n

文本部分=tt.\xc3\x98 {y}[a]导致其失败。看起来它正在评估函数声明。

\n

如果您单独尝试该部分文本,它也会失败

\n
cy.get(\'label\').contains(\'=tt.\xc3\x98 {y}[a]\')  // fails\n
Run Code Online (Sandbox Code Playgroud)\n

但两端都少一个字符通过

\n
cy.get(\'label\')\n  .contains(\'=tt.\xc3\x98 {y}[a\')\n  .should(\'have.prop\', \'tagName\', \'LABEL\')  // passes\n\ncy.get(\'label\')\n  .contains(\'tt.\xc3\x98 {y}[a]\')\n  .should(\'have.prop\', \'tagName\', \'LABEL\')  // passes\n
Run Code Online (Sandbox Code Playgroud)\n

分割字符串并.contains()在每个部分使用也将通过

\n
const specChars = \'T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi\'\n\nconst splitChar = \'\xc3\x98\'   \nconst [first, second] = specChars.split(splitChar) \ncy.get(\'label\')\n  .contains(first)\n  .contains(splitChar)\n  .contains(second)\n  .should(\'have.prop\', \'tagName\', \'LABEL\')\n
Run Code Online (Sandbox Code Playgroud)\n