我在本地服务器上通过TeamCity运行Selenium测试(Windows 2008)。此外,当我试图上传或下载文件时,我使用测试自动化框架来处理浏览器的对话框。当我使用NUnit在本地计算机上运行测试时,一切正常。出现问题的测试:
当我通过"C:\WINDOWS\system32\config\systemprofile\Desktop运行此测试时,单击“浏览”按钮后会出现一个错误:“C:\WINDOWS\system32\config\systemprofile\Desktop指的是不可用的位置。它可能位于此计算机上的硬盘上,也可能位于网络上。请检查磁盘是否已正确插入,或您已连接到互联网或网络,然后再试一次。如果仍无法找到该位置,则信息可能已移动到另一个位置”。据我所知,浏览器试图打开上传文件所在的默认文件夹。如果我从我的mashine中运行NUnit测试,这个文件夹就位于我的文档中。当测试由Teamcity运行时,浏览器进程的所有者是系统。因此,当应该找到上传的文件时,浏览器无法找到正确的位置。我试图使用regedit更改系统的默认文件夹,但仍然会出现错误。拜托帮我解决这个问题伙计们。
发布于 2013-05-13 16:12:23
我强烈反对这种综合做法。如果您想要测试文件传输的内容,您不应该尝试通过浏览器的文件选择器,因为它们打破了webdriver领域。相反,我建议将默认下载路径设置为中的属性。像这样的事情应该可以做到:
profile.SetPreference(“browser.download.folderList”, 1);
profile.SetPreference(“browser.download.manager.showWhenStarting”, false);
profile.SetPreference(“browser.helperApps.neverAsk.saveToDisk”, “application/xml”);一个关于这一主题的好文章建议您甚至不需要这个,但是使用一个更好的粉猴解决方案来测试下载内容。
https://stackoverflow.com/questions/16526249
复制相似问题