2017-03-20 2 views
-1

"last"및 "all"JSON 매개 변수에 대해 webdriver-manager\selenium\update-config.json에 절대 경로가 있습니다. 상대 경로를 어떻게 설정할 수 있습니까?webdriver-manager update-config.json 절대 경로

".. \"와 ". \"을 시도했지만 작동하지 않습니다. 어떤 아이디어?

+0

왜이 기능이 필요합니까? 이것을 필요로하는 귀하의 유스 케이스는 무엇입니까? – cnishina

+0

테스트 프로젝트가 svn repo에 있습니다. 그리고 다른 테스터들이 그것을 업데이트 할 때, 그들은 나의 길을가집니다. –

+0

그러면 다른 테스터들이 어떻게 그것을 사용할 계획입니까? package.json에서 webdriver-manager 바이너리를 노출하지 않으시겠습니까? – cnishina

답변

3

좋아요, 이것은 update-config.json의 디자인입니다. 사용 된 이유와 그 이유가 무엇입니까?

사용자가 webdriver-manager update를 호출 갱신 동안

쓰기 업데이트-config.json은 바이너리 다운로드하고 버전 번호를 포함하도록 이름이 바뀌 었습니다. 이를 통해 사용자는 출력 디렉토리에 여러 버전의 바이너리를 가질 수 있습니다. 2015 년 전부터 파일이 다운로드되고 ChromeDriver 이름의 압축되지 않은 파일은 chromedriver (또는 Windows에서는 chromedriver.exe)이됩니다. 이제 버전을 포함하도록 이름을 바꿉니다. 우리가 버전 2.28을 다운로드 한 경우, 압축되지 않은 파일이이 파일 이름에 가정을 만들 것 각도기

이전

(~ 2015), localdirectConnect의 드라이버 공급자가 사용되는 방법 chromedriver_2.28

일 것입니다 그래서. 따라서 앞의 예제에서는 파일이 chromedriver (또는 Windows에서는 chromedriver.exe)이라고 가정합니다.

  1. 가 각도기가 webdriver 매니저로의 config.json를 사용하여 작업
  2. 이전 가정을 다운로드 한 버전 번호를 추적하지 않습니다

    는 버전 번호를 추가하는 문제의 몇 가지가 있습니다 버전 번호; 그러나 이로 인해 사용자는 사용자 지정 버전을 다운로드 할 수 없습니다.

그래서 우리는 다운로드 한 "최신"버전을 추적합니다. webdriver-manager가 다운로드 한 마지막 버전은 각도기에서 사용합니다. "all"필드는 다운로드 된 버전 목록 일뿐입니다. 나는 우리가 "상태"라고 부를 때이 값들이 사용된다고 믿는다.

분명히 update-config.json을 삭제했지만 여전히 바이너리가있는 경우 각도기는 update-config.json을 찾지 못할 것입니다. 따라서 local 또는 directConnect을 실행할 수 없으며 webdriver-manager update을 실행하라는 메시지를 보내거나 요청할 것입니다. 이것은 자식에 저장되지해야하는 이유

이전 댓글이 값을 저장에 대해 물어. 여기에있는 아이디어는 바이너리 및 캐싱 파일과 마찬가지로이 파일은 임시 파일이므로 git에 저장하면 안됩니다. 실제로 사용자가 update-config.json에 대한 상대 경로를 원한다는 유스 케이스를 이해하지 못한다. 그러나 코드를 통해 참조해야한다면 lib/driverProviders/local.ts#L43과 같은 것을 할 것이다.

+0

''update-config.json''을 지우고 난 후에 분도기는 당신이 말한대로 작동하지 않습니다. 그것은 여전히 ​​그것을 찾으려고 노력했다. –