browser.actions()。mouseMove()使用sendKeys创建语法错误

问题描述 投票:0回答:1

我正在致力于测试自动化,并使用带有Jasmine框架的量角器。在处理自动完成select时(选择下拉列表,即国家/地区名称下拉列表)。我想以browser.actions().mouseMove(addMember.getLocationInput().sendKeys('UAE')).perform();的方式将密钥发送到此自动完成选择下拉菜单,但它会产生语法错误。当我删除sendKeys('UAE')时,它会删除语法错误,但我必须向其发送密钥。谁能帮我发送密钥到此自动完成选择。您可以在附件中找到完整的测试用例。在此先感谢

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);
            });
        });
    });
angular browser automation protractor action
1个回答
0
投票

我认为您不能将鼠标移动与sendKeys结合使用。首先,将鼠标移到元素上,如下所示:

browser.actions().mouseMove(addMember.getLocation()).perform(); 

然后,如果要发送密钥,则需要另一个代码:

addMember.getLocation().sendKeys('UAE');
© www.soinside.com 2019 - 2024. All rights reserved.