protractor : unable to click the button

2020-04-16 03:41发布

Im new to protractor e2e testing. Writing jasmine test cases using protractor. I have two buttons in a html file. I want to select the specific button(button in begin.html file)

These did not work

element(by.id('gotest')).click();

by.linkUiSref('about-you');

performing some event on the button should navigate to next page(about-you)

Please help me

Text.html

<div class="button">
    <a ui-sref="begin">
        <button class="green">Text</button>
    </a>
</div>

<ng-include src="'../begin.html'" class="hidden"></ng-include>

begin.html

<div class="button">
    <button class="green" id="gotest" ui-sref="about-you">Start</button>
</div> 

标签: protractor
2条回答
Deceive 欺骗
2楼-- · 2020-04-16 04:23

Try:

element(by.buttonText('Start')).click();

otherwise please send what error you have got.

查看更多
霸刀☆藐视天下
3楼-- · 2020-04-16 04:28

Protractor works fast and asynchronous. So, your button click might just be executed even before the page is ready and hence you get errors. To resolve this issue you can first try to find the element using wait function in protractor and then using the promise that the wait returns, you can click on the button.

Below code might help you -

var elementToClick = $('#gotest');
browser.wait(protractor.ExpectedConditions.elementToBeClickable(elementToClick), 10000)
.then ( function () {
    elementToClick.click();
});

Hope this solved your problem.

查看更多
登录 后发表回答