우리는 Chutzpah 테스트 어댑터를 사용하여 Visual Studio에서 QUnit 자바 스크립트 테스트를 실행하고 있습니다. 최근에 js 파일로 테스트중인 API를 변경하고 UserAgent http 헤더를 통해 몇 가지 검증을 추가 할 때까지 모든 것이 잘 동작하고있었습니다. 사용자 에이전트를 변경/모의하기 위해 테스트를 업데이트하려고 시도했을 때 overriding the default browser property으로 직접 가능하지 않다는 것을 깨달았습니다.Chutzpah를 사용하여 기본 Phantomjs 개체 설정을 변경하려면 어떻게해야합니까?
몇 일 청소 후에 마침내 정확히 무슨 일이 일어나는지 발견했습니다. Chutzpah는 테스트 파일을 실행할 phantomjs page 개체를 만듭니다. 이것은 Chutzpah adapter installation path에있는 기본 javascript 파일 (chutzpahRunner.js)에서 수행됩니다. 이들은 효과적으로 테스트를 시작, 파일의 마지막 라인은 다음과 같습니다 Phatomjs 페이지 settings object에 지정하여 사용자 에이전트 헤더를 변경 지원
...
// Allows local files to make ajax calls to remote urls
page.settings.localToRemoteUrlAccessEnabled = true; //(default false)
// Stops all security (for example you can access content in other domain IFrames)
page.settings.webSecurityEnabled = false; //(default true)
page.open(testFile, pageOpenHandler);
...
. 나는 내 컴퓨터에서이 chutzpahRunner.js 파일을 편집하고 수동으로 다음과 같이이 사용자 에이전트를 설정 한 경우 :
page.settings.userAgent = "MyCustomUserAgent";
내 시험은 다시 일을 시작합니다. 문제는 이것이 프로젝트 그 자체가 아니기 때문에 나머지 팀원들과 공유 할 수 없다는 것입니다.
테스트를 실행하기 위해 Chutzpah가 만든 phantomjs 개체의 속성을 변경할 수 있습니까? 내 테스트 내에서 또는 파이프 라인에 임베드 할 수있는 다른 스크립트 파일에서 변경하고 싶습니다.
Fork chutzpah를 작성하고 패치를 작성하십시오. 어쩌면 좋은 일을한다면 다시 병합 될 것입니다. –