未启用远程调试器时,React Native Detox 测试失败

Posted

技术标签:

【中文标题】未启用远程调试器时,React Native Detox 测试失败【英文标题】:React Native Detox tests fail when remote debugger not enabled 【发布时间】:2018-07-31 10:31:40 【问题描述】:

如果我无法在运行前通过 In-App Developer Menu 启用远程 JS 调试(即未及时键入 command + D 并单击“启用远程 JS 调试”),则以下测试失败:

describe('Login form tests', () => 
  beforeEach(async () => 
  await device.reloadReactNative();
);

it('logins in user', async (done) => 
 // typeText method doesn't work because of https://github.com/wix/detox/issues/92
    await element(by.id('login_email')).replaceText('email@email.com');
    await element(by.id('login_password')).replaceText('fakepassword');

   // $FlowFixMe
   await element(by.id('login_button')).tap();

   done();
 );
);

我在 package.json 中使用与文档建议相同的配置,但 -configuration Debug 在应用程序和反应本机重新加载时不会启用调试器。有没有默认启用调试器?

【问题讨论】:

我得到了完全相同的行为。你有想过这个吗? 【参考方案1】:

我认为问题与默认的 UserAgent 相关,即 Safari 而不是 chrome,但是在我的情况下,我遇到了同样的问题,但我通过使用 safari 设置启用自动调试来解决它,如下所示:

 1. Enable Develop menu in Safari: Preferences → Advanced → Select "Show Develop menu in menu bar"
 2. Select your app's JSContext: Develop → Your Simulator → Automatically Show Web Inspector for JS JSContext
 3. Safari's Web Inspector should open which has a Console and a Debugger

希望这能解决你的问题

【讨论】:

以上是关于未启用远程调试器时,React Native Detox 测试失败的主要内容,如果未能解决你的问题,请参考以下文章

启用远程调试 JS 后,无法在 React-Native 应用程序上向 API 发出请求

React-Native 远程调试器无法在 iPhone 上运行

React Native 调试器状态未定义

React Native 调试器无法导入捆绑脚本?

使用 React Native Firebase 时如何远程调试 JS

Android Emulator 无法连接到 React-Native 远程调试器 - 连接时超时