webdriver を使用して Safari(8.0.8) にファイルをアップロードしようとしています。誰でもそれが可能かどうかを確認できますか? この問題を検索していましたが、明確な情報が見つかりません。
私のテスト環境: Win7 を搭載したローカル PC でテストを実行し、ブラウザーは 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, takesScreenshot=true, javascriptEnabled=true, version=8.0.8, cssSelectorsEnabled=true, platform=MAC , secureSsl=true}] セッション ID: null
Safari であるため、またはグリッド/サファリ/リモート ホストまたはファイル パス (/ のあるもの) に問題があるために機能しませんか?