2017-05-23 20 views
2

画像ファイルへの相対パスは、testng.xmlに以下のように示されています。相対パス - セレン

<parameter name="adverImage" value="./res/sale_sign.jpg"/> 

およびファイルは、以下のフォルダ構造

Folder Structure

プロジェクトが実行されたとき、私はコンソールに次のエラーメッセージを取得すると、次のresフォルダにあります。

org.openqa.selenium.InvalidArgumentException: File not found: ./res/sale_sign.jpg 

絶対パスを指定すると、同じコードが正常に動作します。

- 編集 -

私は次の方法でファイルを選択しています。

private void selectImage(String image){ 
    imageSelect.clear(); 
    imageSelect.sendKeys(image); 
} 

あなたはまず、ディレクトリ・パス(プロジェクトパス)を取得する必要があり、あなたのイメージの完全なパスを渡ししようとしている場合は、この

+0

あなたは= '「RES/sale_sign.jpgを」値を試し'と私はと同様にすることを試してみた –

+0

を知らせることができます何の成功 'org.openqa.selenium.InvalidArgumentException:ファイルが見つかりません:RES/sale_sign.jpg' –

+0

yは、あなたが、私は「上記に値を置き換えて、もう一度コードを実行したVEの –

答えて

2

で私を助けることができるかどうかは大きな助けになるだろう。

使用同じのため、この方法:

String projectpath = System.getProperty("user.dir"); 

それはあなたのようなあなたの現在のプロジェクトのパス与える:

C:\ Users \ユーザーnarendra.h.rajput \オートメーション\プロジェクト名

プロジェクトパスにイメージパスを追加します

<parameter name="adverImage" value="/res/sale_sign.jpg"/> 
コード

private void selectImage(String image) 
{ 
    String location= System.getProperty("user.dir"); 
    imageSelect.clear(); 
    imageSelect.sendKeys(location+image); 
} 

事はあなたが絶対パスを与えていると同じです。あなたは解像度あなたのPCで/画像の場所を見れば、それはメソッドの戻り上記と同じになりますので

+0

問題のメソッドを追加したファイル –

+1

もちろん、あなたがプロジェクトを移動したところで、 'System.getProperty(" user.dir ");'はあなたのプロジェクトパスを与えます –