wix-incubator / DetoxRecorder

Detox Recorder is a utility for recordings steps for a Detox test as you use your app in Simulator. After recording the test, add expectations that check if interface elements are in the expected state.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Recorded test (.js) fails when it runs with detox

kneza23 opened this issue · comments

Describe the Bug
Recorded test fails on text input interaction when typing.

To Reproduce
Put this code in detox test.js
await element(by.type("RCTUITextField")).atIndex(0).tap();
await element(by.text("t")).atIndex(0).replaceText("t");
await element(by.text("t0")).atIndex(0).replaceText("t0");
......

Expected Behavior
Recorded test should fill out text inputs with recorded text

Actual Behavior
Recorded test breaks on the lines pasted above

Environment

  • macOS: 11.4
  • Xcode: 12.5
  • iOS Simulator Runtime: ios 12
  • Detox Recorder Version: 1.0.151

Logs

e2e/firstTest.e2e.js (10.094 s)
  Example
    ✕ My Recorded Test (2693 ms)

  ● Example › My Recorded Test

    Test Failed: No elements found for “MATCHER(text == “t”) AT INDEX(0)”
    TIP: To print view hierarchy on failed actions/matches, use log-level verbose or higher.

       7 |     await element(by.type("RCTUITextField")).atIndex(0).tap();
       8 |     await element(by.type("RCTUITextField")).atIndex(0).tap();
    >  9 |     await element(by.text("t")).atIndex(0).replaceText("t");
         |                                            ^
      10 |     await element(by.text("to")).atIndex(0).replaceText("to");
      11 |     await element(by.text("tom")).atIndex(0).replaceText("tom");
      12 |     await element(by.type("RCTUITextField")).atIndex(1).tap();

      at Object.replaceText (firstTest.e2e.js:9:44)

detox[52018] ERROR: [cli.js] Command failed: jest --config e2e/config.json --testNamePattern '^((?!:android:).)*$' e2e