我正在尝试使用 webdriver 将文件上传到 Safari(8.0.8)。任何人都可以确认它是否可能?我正在搜索这个问题,但找不到明确的信息。
我的测试环境:我在本地 PC 上使用 Win7 运行测试,浏览器从在 MAC 机器上运行的 Selenium Grid 开始(集线器 + 节点在 MAC Yosemite 10.10.5 上运行)
首先,我尝试在 MAC 上上传直接文件。但它不起作用。
Browser.Driver.FindElement(By.Id("inputID")).SendKeys("/Users/administrator/Desktop/file.txt");
接下来,我尝试使用 LocalFileDetetor 但它也不起作用:
driver.FileDetector = new LocalFileDetector();
Browser.Driver.FindElement(By.Id("inputID")).SendKeys("c:\\file.txt");
接下来,我尝试使用:WebDriverBackedSelenium:
ISelenium safari = new WebDriverBackedSelenium(webDriver, "http://systemname/");
safari.Start();
safari.AttachFile("xpath=//input[@id='inputID']", "e:\\file2.txt");
但它也不起作用。堆栈跟踪:
Selenium.SeleniumException :引发 WebDriver 异常 ----> OpenQA.Selenium.InvalidElementStateException :元素必须是用户可编辑的才能清除它。(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:7 毫秒构建信息:版本:'2.47.1',修订:'411b314',时间:'2015-07-30 03:03:16'系统信息:主机:'mac.domain.company.com',ip:'192.168.136.67',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.10.5' , java.version: '1.8.0_51' 驱动信息: org.openqa.selenium.safari.SafariDriver Capabilities [{browserName=safari, takeScreenshot=true, javascriptEnabled=true, version=8.0.8, cssSelectorsEnabled=true, platform=MAC ,secureSsl=true}] 会话 ID:空
它不起作用,因为它是 Safari,或者网格/野生动物园/远程主机或文件路径(带有 / 的东西)有问题?