如何使用detox测试react-native-auth0库?

问题描述 投票:0回答:1

我在任何地方都找不到解释如何在 React Native 中正确模拟 auth0 请求的方法。

在 detox GitHub 上提出的几个问题说他们没有责任解释如何模拟 auth0,我同意。

但是我在其他地方没有找到一步一步的解释 - 甚至连源代码都没有找到。

有人可以帮忙吗?

我的代码有一个按钮,单击后会调用

auth0.webAuth.authorize

react-native jestjs auth0 detox
1个回答
0
投票

使用 Detox 测试 WebView 组件并不容易,如果您的应用程序打开应用程序内浏览器,则几乎不可能。

如果您使用 WebViewComponent,有一个解决方法。基本上,您需要注入 JavaScript 来填充用户名/电子邮件和密码字段,并有一个隐藏按钮来触发身份验证。

        <View style={styles.fakeLoginButtonContainer}>
            <Button
                testID='e2e-login-test-id'
                title='DUMMY_LOGIN_BUTTON'
                onPress={() => {
                    console.log('hacking webview')
                    const jsCode =
                        "document.getElementById('signInName').value = '{USERNAME_EMAIL}';document.getElementById('password').value = '{PASSWORD}';document.getElementById('next').disabled = false;document.getElementById('next').click();"
                    webViewRef.current?.injectJavaScript(jsCode)
                }}
            />
         </View>

这个解决方法过去对我有用。祝你好运。

© www.soinside.com 2019 - 2024. All rights reserved.