2017-07-10 13 views
0

sendkey関数を使用してinputidにファイルをアップロードしようとしています。セレンのwebdriverのファイルパスを取得します。

私は現在、パスCを使用しています:\ Users \ユーザーmyusernameと指定の\ドキュメント\ seleniumsolution \ Utilsの\ディレクトリ\ Dir1内\ Dir2を\ DIR3 \ UploadFolderの\ example.jpg

私は私の溶液中のファイルを参照してください。しかし、私は完全なパスに渡したいとは思っていませんが、ファイル名とセレンだけがパスを見つけます。さもなければ、私はこのテストケースを使用できる唯一のものになります。

私が試した:

var file = Path.Combine(Directory.GetCurrentDirectory(), url); 

としてみました:

string documents = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"UploadFolder"); 

を両者が私に必要な結果を与えるいけません。

あなたが私を助けてくれることを願っています。

答えて

0

あなたはbin\debugフォルダにあなたを取得するファイルに

AppDomain.CurrentDomain.BaseDirectory 

を取得するには、フォルダツリーの上に移動する必要があります。そこからparentを使用して、ファイルの場所まで移動することができます。例えば、(いくつかの調整が必要になる場合があります)

string solutionParentDirectory = Directory.GetParent(AppDomain.CurrentDomain.BaseDirectory).Parent.Parent.Parent.FullName; 
string file = Path.Combine(solutionParentDirectory, @"UploadFolder\example.jpg"); 

また、それは動作します

string file = Path.GetFullPath("example.jpg"); 
+0

を試すことができますが、セレンのルートディレクトリを直接行くことが方法はイマイチ? – xxx2017

+0

@ xxx2017別のオプションが追加されました。 – Guy

+0

私は文字列ファイル= Path.GetFullPath( "example.jpg"); 私はfilex = "C:\\ Windows \\ system32 \\ example.jpg"を取得します これは正しくありません。 – xxx2017

関連する問題