Angularjs Protractor에서 명령줄 인수를 사용하려면 어떻게 해야 합니까?
Protractor를 사용하여 몇 가지 엔드 투 엔드 테스트를 수행하려고 하는데 특정 파일에 저장하지 않고 명령줄에서 로그인 자격 증명을 전달하고 싶습니다.누군가가 쓰던 게시물을 하나 찾았어요.process.argv.forEach
그러나 이러한 값을 저장하여 다른 사양 파일에 사용하려면 어떻게 해야 합니까?라는 파일이 있습니다.login-spec.js
명령줄 인수를 사용합니다.
감사합니다!
참조 설정에서는, 이 섹션이 흥미로울 수 있습니다.
// The params object will be passed directly to the protractor instance,
// and can be accessed from your test. It is an arbitrary object and can
// contain anything you may need in your test.
// This can be changed via the command line as:
// --params.login.user 'Joe'
params: {
login: {
user: 'Jane',
password: '1234'
}
},
또한 코드 내에서 다음과 같은 params 객체에 액세스할 수 있습니다.browser.params.login.user
이 경우, 다음과 같이 프로젝터를 호출할 수 있습니다.
protractor ... --params.login.user=abc --params.login.password=123
코드내의 다음의 변수에 액세스 할 수 있습니다.
browser.params.login.user
그리고.browser.params.login.password
승인된 답변의 단점 - 이러한 변수는 브라우저를 시작할 때 사용할 수 있습니다.따라서 구성(if/else 로직 생성)에서 이러한 로직을 사용하는 경우 이 기능은 작동하지 않습니다.
회피책
프로젝터는 노드 프로세스입니다.모든 노드 프로세스는 커스텀노드 변수를 사용하여 시작할 수 있습니다.Windows 에서는 어떻게 동작하고 있는지는 잘 모르지만(그 방법을 알고 있는 경우는 코멘트해 주세요), Mac 및 Linux/unix OS 에서는 할 수 있습니다.
다음과 같은 환경 변수를 사용하여 프로젝터를 시작합니다.
MY_VAR=Dev protractor tmp/config.js
그러면 프로세스 내 어디에서나 사용할 수 있습니다.
console.log(process.env.MY_VAR)
언급URL : https://stackoverflow.com/questions/23135649/how-can-i-use-command-line-arguments-in-angularjs-protractor
'programing' 카테고리의 다른 글
로컬 호스트에서 Wordpress 다중 사이트 "데이터베이스 연결 설정 오류" (0) | 2023.04.01 |
---|---|
두 시간 간의 시간 차이(HH:MM:SS a) momentjs 단위 (0) | 2023.03.27 |
jJSON을 문자열로 쿼리하시겠습니까? (0) | 2023.03.27 |
ng-class에서 이것은 어떤 angularjs 식 구문입니까? (0) | 2023.03.27 |
몽구스: 인구밀집(인구밀집지) (0) | 2023.03.27 |