Software Dev and QA Tips

How to Fix DataDriver Error in Robot Framework?

Written by QASource Engineering Team | Feb 3, 2025 5:00:00 PM

The "ImportError: cannot import name 'FileNotFoundError' from 'pandas.compat'" error in Robot Framework’s DataDriver occurs due to changes in pandas 2.0, where the pandas.compat module was removed. This guide provides clear steps to address the issue, ensuring seamless integration of DataDriver with your Robot Framework scripts.

  1. Upgrade DataDriver

    • The DataDriver library might already have an updated version that is compatible with pandas 2.x. Update it using:
      • pip install --upgrade robotframework-datadriver

    After upgrading, retry your script to check if the issue is resolved.

  2. Downgrade Pandas

    • If an updated version of DataDriver is not available or compatible, you can downgrade pandas to a version below 2.0 (e.g., pandas 1.5.3) where pandas.compat is still supported:
      • pip install pandas==1.5.3
  3. Manually Patch or Use Alternatives

    If the above approaches don't work:

    • Check the latest DataDriver repository for any patches or alternatives to handling test data without using pandas.compat.
    • As a temporary workaround, modify the local DataDriver code to handle the missing import by replacing pandas.compat with equivalent functionality (like using Python's native FileNotFoundError).

Verify Versions

After making changes, ensure the following compatibility matrix:

  • pandas, DataDriver, and Robot Framework versions are compatible.
  • Use pip freeze to verify the currently installed library versions.

Conclusion

Ensuring compatibility between pandas, DataDriver, and Robot Framework versions is crucial for avoiding such errors. Following these steps can restore your workflow and maintain a stable testing environment.