Reactjs WebdriverIO E2E测试-模拟在React组件内调用的函数
有没有一种方法可以使用WebdriverIO模拟React函数组件内部调用的函数 我需要运行E2E测试,并根据组件内部触发的逻辑验证UI,但我找不到使用WebDrivero的方法 例如,我的意图是模拟Reactjs WebdriverIO E2E测试-模拟在React组件内调用的函数,reactjs,webdriver-io,Reactjs,Webdriver Io,有没有一种方法可以使用WebdriverIO模拟React函数组件内部调用的函数 我需要运行E2E测试,并根据组件内部触发的逻辑验证UI,但我找不到使用WebDrivero的方法 例如,我的意图是模拟checkifuserhaspowpermissions的结果,运行E2E测试,并验证浏览器是否显示“欢迎”或“不允许” Jest提供了一个工具,我想知道WebDrivero是否也有类似的功能。在他们的文档中,有一个选项可用,但与此特定用例无关: import { checkIfUserHasPer
checkifuserhaspowpermissions
的结果,运行E2E测试,并验证浏览器是否显示“欢迎”或“不允许”
Jest提供了一个工具,我想知道WebDrivero是否也有类似的功能。在他们的文档中,有一个选项可用,但与此特定用例无关:
import { checkIfUserHasPermissions } from '/utils';
export default function Landing() {
return (
<div className="App">
{
checkIfUserHasPermissions() ?
<h1>Welcome</h1> :
<h1>Not allowed</h1>
}
</div>
);
}
从'/utils'导入{checkIfUserHasPermissions};
导出默认函数Landing(){
返回(
{
checkIfUserHasPermissions()?
欢迎:
不准
}
);
}
有什么想法吗
谢谢,这实际上是可能的,但不推荐 有两种方法可供选择:
- 通过使用
浏览器执行一些js来更改函数。执行
。请开发人员帮助从外部访问该函数
- 在加载函数之前,使用
更改函数的文本内容。看browser.mock
checkIfUserHasPermissions
只是一个例子。从你发布的内容来看,我不知道。在一般情况下,我希望如果我没有登录就访问,或者作为一个没有访问这个特定页面的用户登录,我会看到“不允许”,如果我作为一个有访问权限的用户登录,我会看到“欢迎”。因此,E2E测试设置的一部分将是创建具有适当访问权限的用户(如果需要,还有其他没有访问权限的用户),以便测试可以使用。是的,这将是具有简单用户流的应用程序的解决方案,但在我的情况下,我需要在大型项目中测试复杂组件,找到一种在特定组件(某物)中模拟原子函数的方法将使它更容易。。。不过,谢谢你的输入,我在问题中添加了更多细节。你可以在其他级别测试这些东西,E2E测试应该像真正的用户一样锻炼你的整个系统。否则就没有什么价值了。