赛普拉斯 - 仅为一项测试设置 userAgent

时间:2021-04-07 08:09:33

标签: javascript automation cypress

有没有办法只在 Cypress 中为一个测试更改 userAgent? 我知道如何在 cypress.json 文件中执行此操作,但这只会为所有测试全局设置 userAgent,这不是我想要实现的。 我已经试过了:

Cypress.config('userAgent', 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1')

但是it doesn't seem to update userAgent

还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

也许您可以使用 <!DOCTYPE html> <html> <head> <script type="text/javascript"> window.languagePluginUrl = 'https://cdn.jsdelivr.net/pyodide/v0.17.0a2/full/'; </script> <script src="https://cdn.jsdelivr.net/pyodide/v0.17.0a2/full/pyodide.js"></script> </head> <body> <p>You can execute any Python code. Just enter something in the box below and click the button.</p> <textarea id='code' style='width: 50%;' rows='10'>print('hello')</textarea> <button onclick='evaluatePython()'>Run</button> <br> <br> <div> Output: </div> <textarea id='output' style='width: 50%;' rows='3' disabled></textarea> <script> const output = document.getElementById("output"); const code = document.getElementById("code"); // show output function addToOutput(s) { output.value = s; } function evaluatePython() { let output = pyodide.runPythonAsync(code.value) .then(output => addToOutput(output)) .catch((err) => { addToOutput(err)}); } languagePluginLoader.then(()=>{ // override default print behavior pyodide.globals.print = s => s }) </script> </body> </html> 并更改请求中的用户代理标头。参考:https://docs.cypress.io/api/commands/intercept#Modifying-an-outgoing-request

类似的东西

cy.intercept