browser.actions (). mouseMove () создает синтаксическую ошибку с sendKeys - PullRequest
0 голосов
/ 14 января 2020

Я работаю над автоматизацией тестирования и использую транспортир с каркасом жасмина. При обработке автозаполнения выберите (раскрывающийся список выбора, т.е. раскрывающийся список названия стран). Я хочу отправить ключи на этот выпадающий список автозаполнения, как 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);
            });
        });
    });

Ответы [ 2 ]

1 голос
/ 14 января 2020

Я думаю, что движение мыши не может go в сочетании с sendKeys, как вы делаете. Сначала наведите курсор мыши на элемент следующим образом:

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

А затем, если вы хотите отправить ключи, вам нужен еще один код:

addMember.getLocation().sendKeys('UAE');
0 голосов
/ 14 января 2020

Я решил вышеупомянутую проблему, изменив browser.actions().mouseMove(addMember.getLocation()).perform() на browser.actions().mouseDown(addMember.getLocation()).perform(), который перемещается к элементу, щелкает там, и тогда sendKeys() можно назвать

...