programing

프로젝터 테스트:로그인 폼에서 텍스트 요소의 값을 설정하려면 어떻게 해야 합니까?

randomtip 2023. 3. 12. 21:08
반응형

프로젝터 테스트:로그인 폼에서 텍스트 요소의 값을 설정하려면 어떻게 해야 합니까?

각도 앱용 프로젝터로 테스트하고 있습니다.로그인 양식을 작성하여 제출하고 싶습니다.

이거 어떻게 해?여기까지 왔는데 이메일과 비밀번호 필드의 값을 어떻게 설정해야 할지 모르겠어요.

describe('The dashboard', function() {
  ptor = protractor.getInstance();

  beforeEach(function() {
    ptor.get('#/dashboard');
    var email = ptor.findElement(protractor.By.model('email'));
    var password = ptor.findElement(protractor.By.model('password'));
    var submit = ptor.findElement(protractor.By.tagName('button'));
    // Fill out the form?
    submit.click();
  });

  it('has a heading', function() {
    heading = ptor.findElement(protractor.By.tagName('h1'));
    expect(heading.getText()).toEqual('My Dashboard');
  });
});

Google을 통해 이를 발견한 모든 사람의 이익을 위해 다음과 같이 답변합니다.

email.sendKeys('myemail@myemail.com');
password.sendKeys('mypassword');

사용할 수 있습니다.

email.clear().sendKeys('myemail@myemail.com');
password.clear().sendKeys('mypassword');

슈루티리처드 외에

입력이 비어 있는지 또는 지워졌는지 확인하려면 Promise를 반환하는 clear 메서드를 사용합니다.입력에 sendKeys 메서드를 사용하여 약속을 해결합니다.이것은 입력에 기본값을 미리 입력한 경우에 유용합니다.

비동기/대기:

async fillInEmail() { 
  await email.clear(); 
  email.sendKeys('myemail@myemail.com'); 
}
async fillInPassword() { 
  await password.clear(); 
  password.sendKeys('mypassword'); 
}

ES6:

email.clear().then(() => {
    email.sendKeys('myemail@myemail.com');
});

password.clear().then(() => {
    password.sendKeys('mypassword');
});

ES6 이전 버전:

email.clear().then(function() {
    email.sendKeys('myemail@myemail.com');
});

password.clear().then(function() {
    password.sendKeys('mypassword');
});

위의 답변과 같이 대부분의 경우 sendkey를 사용할 수 있습니다. 만약 이것이 작동하지 않는다면 Javascript를 사용하여 텍스트를 요소에 주입할 수 있습니다.

var locatorid='datepicker1';
var val= '12/31/2019';

//without parameterized
browser.executeScript("document.getElementById('datepicker1').value='10/21/2019'");

//After parameterized
browser.executeScript("document.getElementById('"+locatorid+"').value='"+val+"'");
browser.sleep(3000);

xpath는 어때?

다음과 같은 버튼을 만듭니다.

<ion-input [(ngModel)]="model.password" name="password" type="text" #passcode="ngModel" required>
</ion-input>

그리고 값을 설정합니다.

element(by.xpath('//*[@name="password"]/input')).sendKeys('PASSWORD')
var searchComment = element(by.name("customTextField"));
searchComment.sendKeys("france").then(function() {
    next()
}); 

언급URL : https://stackoverflow.com/questions/20192689/protractor-testing-how-to-set-the-value-of-text-elements-in-a-login-form

반응형