2017-05-23 2 views
2

이미지 파일의 상대 경로는 아래와 같이 testng.xml에 표시됩니다.이미지에 대한 상대 경로 - Selenium

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

그리고 파일은 다음 폴더 구조

Folder Structure

프로젝트를 실행할 때 콘솔에 다음과 같은 오류 메시지와 함께 다음과 같은 고해상도 폴더에 있습니다.

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

또한 절대 경로를 지정하면 동일한 코드가 작동합니다.

- 편집 -

다음 방법을 사용하여 파일을 선택하고 있습니다. 당신이 당신의 이미지의 전체 경로를 통과하려는 경우이

+0

'value = "res/sale_sign.jpg"'시도해보고 –

+0

을 사용해 볼 수 있습니까? 성공하지 못했습니다. org.openqa.selenium.InvalidArgumentException : 파일을 찾을 수 없습니다 : res/sale_sign.jpg' –

+0

시도한 코드 조각을 추가 할 수 있습니다 –

답변

2

를 도와 줄 수 있다면 그것은 큰 도움이 될 것입니다

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

후 먼저 디렉토리 경로 (프로젝트 경로)를 얻을 필요가있다.

사용 같은이 방법 :

C :

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

그것은처럼 당신에게 당신의 현재 프로젝트 경로를 줄 것이다 \ 사용자 \ 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); 
} 

에서 6,

것은 동일합니다. 왜냐하면 만약 당신이 당신의 컴퓨터에서 당신의 res/image 위치를 보게되면 위의 방법과 똑같을 것입니다.

+0

안녕, 도움을 주셔서 감사합니다. 귀하의 제안은 '<매개 변수 이름 = "adverImage"value = "/ res/sale_sign.jpg"/>'코드로 작동했습니다. 프로젝트를 다른 위치로 옮기면이 코드가 작동합니까? –

+1

물론, 어디에서 프로젝트를 옮기면,'System.getProperty ("user.dir");'는 프로젝트 경로를 줄 것입니다 –

관련 문제