Tau*_*ikh 0 javascript contains cypress
我必须使用 Cypress 验证网页上不同元素上的特殊字符串。
\n特殊字符串是:T!@$^()-_+, &_-=tt.\xc3\x98 {y}[a] \xc2\xa3 fi
每当我尝试验证字符串时,我都会在 Cypress 中收到以下断言错误:
\nAssertionError 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 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 })\nRun Code Online (Sandbox Code Playgroud)\n还附上了一个示例 HTML 页面:
\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 })\nRun Code Online (Sandbox Code Playgroud)\r\n这看起来像一个错误。
\n文本部分=tt.\xc3\x98 {y}[a]导致其失败。看起来它正在评估函数声明。
如果您单独尝试该部分文本,它也会失败
\ncy.get(\'label\').contains(\'=tt.\xc3\x98 {y}[a]\') // fails\nRun Code Online (Sandbox Code Playgroud)\n但两端都少一个字符通过
\ncy.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\nRun Code Online (Sandbox Code Playgroud)\n分割字符串并.contains()在每个部分使用也将通过
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\')\nRun Code Online (Sandbox Code Playgroud)\n