运行 在 Ubuntu 上的 virtualenv 中使用 FireFox ESR 进行 Django 功能测试时出现 PermissionError

PermissionError when running Django functional tests using FireFox ESR in a virtualenv on Ubuntu

我一直在慢慢阅读关于测试驱动开发的优秀 "Obey the Testing Goat" 书籍,当我读到第 7 章的末尾时,我注意到作者已经发布了更新版本。在更新的版本中,作者建议从一开始就使用 virtualenv,所以我决定更新我当前的代码以在 virtualenv 中工作,同时从 Windows 切换到 Linux 环境时间。我的问题是 运行 我的(以前工作的)功能测试,我最终在下面的第 3 行 "PermissionError: [Errno 13] Permission Denied"

def setUp(self):
    binary = FirefoxBinary(r'/home/spa/firefox') 
    self.browser = webdriver.Firefox(firefox_binary=binary)

我可以完全访问相关文件,所以我认为这可能是一个问题,因为我是从 virtualenv 调用该函数,而且我不知道这对权限有何影响。任何帮助将不胜感激。

我的问题最终与 VirtualEnv 无关——只需将 FireFoxBinary 的路径更改为“/home/spa/firefox/firefox”即可解决问题;貌似无法读取firefox文件夹里面的二进制文件,所以你必须直接指向二进制文件。