browser.actions().mouseMove() 使用 sendKeys 创建语法错误
browser.actions().mouseMove() creates syntax error with sendKeys
我正在研究自动化测试,并在 jasmine 框架中使用量角器。在处理自动完成时 select(selection 下拉菜单,即国家名称下拉菜单)。我想以 browser.actions().mouseMove(addMember.getLocationInput().sendKeys('UAE')).perform();
的方式将密钥发送到此自动完成 select 下拉菜单,但它会产生语法错误。当我删除 sendKeys('UAE')
时,它会删除语法错误,但我必须向它发送密钥。任何人都可以帮我发送此 自动完成 select 的密钥。您可以在附件中找到完整的测试用例。提前致谢
it('Should add Instructor successfully',()=>{
return new Promise((res)=>{
let email = Math.floor(Math.random()*10000)+1;
addMember.getAddMemberSubMenu().click().then(()=>{
setTimeout(()=>{
addMember.getFirstNameInput().sendKeys("John");
addMember.getLastNameInput().sendKeys("Doe");
addMember.getEmailInput().sendKeys(email+"@gmail.com")
addMember.getUserRolesInput().element(by.cssContainingText('option','Instructor')).click();
addMember.getCountryCodeInput().element(by.cssContainingText("option","UAE (+65)")).click();
addMember.getPhoneNumberInput().sendKeys('231321321321');
//Here is the syntax error
browser.actions().mouseMove(addMember.getLocation().sendKeys('UAE')).perform();
browser.actions().sendKeys(Key.ARROW_DOWN).perform();
browser.actions().sendKeys(Key.ENTER).perform();
addMember.getSaveButton().click();
return new Promise((resolve)=>{
setTimeout(()=>{
expect(browser.getCurrentUrl()).toContain('people').then(()=>{
resolve();
res();
})
},browser.params.Waiting_time.AVERAGE);
});
},browser.params.Waiting_time.HIGH);
});
});
});
我认为鼠标移动不能像您那样与 sendKeys 结合使用。
首先将鼠标移动到元素上,如下所示:
browser.actions().mouseMove(addMember.getLocation()).perform();
然后如果你想发送密钥,你需要另一个代码:
addMember.getLocation().sendKeys('UAE');
我通过将 browser.actions().mouseMove(addMember.getLocation()).perform()
更改为移动到元素的 browser.actions().mouseDown(addMember.getLocation()).perform()
解决了我的上述问题,单击那里然后可以调用 sendKeys()
我正在研究自动化测试,并在 jasmine 框架中使用量角器。在处理自动完成时 select(selection 下拉菜单,即国家名称下拉菜单)。我想以 browser.actions().mouseMove(addMember.getLocationInput().sendKeys('UAE')).perform();
的方式将密钥发送到此自动完成 select 下拉菜单,但它会产生语法错误。当我删除 sendKeys('UAE')
时,它会删除语法错误,但我必须向它发送密钥。任何人都可以帮我发送此 自动完成 select 的密钥。您可以在附件中找到完整的测试用例。提前致谢
it('Should add Instructor successfully',()=>{
return new Promise((res)=>{
let email = Math.floor(Math.random()*10000)+1;
addMember.getAddMemberSubMenu().click().then(()=>{
setTimeout(()=>{
addMember.getFirstNameInput().sendKeys("John");
addMember.getLastNameInput().sendKeys("Doe");
addMember.getEmailInput().sendKeys(email+"@gmail.com")
addMember.getUserRolesInput().element(by.cssContainingText('option','Instructor')).click();
addMember.getCountryCodeInput().element(by.cssContainingText("option","UAE (+65)")).click();
addMember.getPhoneNumberInput().sendKeys('231321321321');
//Here is the syntax error
browser.actions().mouseMove(addMember.getLocation().sendKeys('UAE')).perform();
browser.actions().sendKeys(Key.ARROW_DOWN).perform();
browser.actions().sendKeys(Key.ENTER).perform();
addMember.getSaveButton().click();
return new Promise((resolve)=>{
setTimeout(()=>{
expect(browser.getCurrentUrl()).toContain('people').then(()=>{
resolve();
res();
})
},browser.params.Waiting_time.AVERAGE);
});
},browser.params.Waiting_time.HIGH);
});
});
});
我认为鼠标移动不能像您那样与 sendKeys 结合使用。 首先将鼠标移动到元素上,如下所示:
browser.actions().mouseMove(addMember.getLocation()).perform();
然后如果你想发送密钥,你需要另一个代码:
addMember.getLocation().sendKeys('UAE');
我通过将 browser.actions().mouseMove(addMember.getLocation()).perform()
更改为移动到元素的 browser.actions().mouseDown(addMember.getLocation()).perform()
解决了我的上述问题,单击那里然后可以调用 sendKeys()