无法创建临时文件

时间:2018-04-27 09:52:08

标签: macos selenium firefox selenium-webdriver webdriver

我有selenium网络驱动程序测试设置,看起来像 -

startBrowserBeforeTestMethod
testMethod1
testMethod2
quitBrowserAfterTestMethod

测试执行适用于第一种测试方法,我看到在/private/var/folders/9n/16qzc0qx55v5r981zjndpytw0000gn/T中创建了浏览器配置文件 并在退出浏览器时被删除

但是在第二个测试方法之前,浏览器实例化失败并出现以下错误 -

org.openqa.selenium.WebDriverException: Unable to create temporary file at /var/folders/9n/16qzc0qx55v5r981zjndpytw0000gn/T/<Test_Name>-1524821528250-0
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'Taruns-MBP', ip: '192.168.2.105', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.7.0_79'
Driver info: driver.version: ScreenShotWebDriver

不是狂热的mac用户,也没有在linux上看到过这样的问题。我做错了什么?

1 个答案:

答案 0 :(得分:0)

此错误消息......

org.openqa.selenium.WebDriverException: Unable to create temporary file at /var/folders/9n/16qzc0qx55v5r981zjndpytw0000gn/T/<Test_Name>-1524821528250-0
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'Taruns-MBP', ip: '192.168.2.105', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.7.0_79'
Driver info: driver.version: ScreenShotWebDriver

...意味着在尝试在/var/folders/9n/16qzc0qx55v5r981zjndpytw0000gn/T/*创建临时文件夹时引发了 WebDriverException

但是,您使用的二进制文件之间的主要问题是版本兼容性,如下所示:

  • 您的 Selenium客户端 2016-06-30 19:26:09 2.53.1 ,几乎 2年年长。
  • 您的 JDK版 1.7.0_79 ,非常古老

因此, JDK v7u79 Selenium Client v2.53.1 与您正在使用的硬件/软件配置之间存在明显的不匹配。

解决方案

  • 确保/var/folders/具有非root用户的可执行权限(chmod 777)。
  • JDK 升级到最近的级别JDK 8u162
  • Selenium 升级到当前级别Version 3.11.0
  • 通过 IDE 清理您的项目工作区仅使用所需的依赖项重建项目
  • 使用CCleaner工具清除执行测试套件之前和之后的所有操作系统杂务。
  • 如果您的基本 Web客户端版本太旧,请通过Revo Uninstaller将其卸载并安装最新的GA和已发布的 Web客户端版本。
  • 进行系统重启
  • 以非root用户身份执行@Test