Is there a way to click on a radio button that appears on a webpage? Below is the code snippet:
HTML code:
<div class="small-checkbox red-theme raleway-regular text-muted2 position-relative">
<div class="city-checkbox inline-block position-relative" ng-class="{'rounded-checkbox': main.current_city_id == 1, 'mb-20': main.ifDeviceIsPhone}">
<label class="mdl-radio mdl-js-radio mdl-js-ripple-effect mh-20" for="mumbaiCity" ng-class="{'is-checked' : main.current_city_id == 1}">
<input type="radio" id="mumbaiCity" class="mdl-radio__button position-relative vertical-middle" name="city" value="1" ng-click="main.setCity('Mumbai', 1)">
<span class="mdl-radio__label position-relative font15"><img class="city-icon" src="../../../assets/img/cities/mumbai-icon.png">Mumbai</span>
</label>
</div>
</div>
Tesstcase:
// demo-test.js
describe('Protractor Demo App', function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000000;
it('check item count', function() {
browser.get('<link>');
element(by.id('mumbaiCity')).click();
});
});
This test case is throwing an error:
1) Protractor Demo App check item count
Message:
Failed: element not visible
I also tried with:
element(by.css('[ng-click="main.setCity('Mumbai', 1)"]')).click();
However, this resulted in an error:
[16:16:26] E/launcher - Error: SyntaxError: missing ) after argument list
Any suggestions on how to successfully click the radio button?