I am trying to click on a dynamic auto-complete dropdown option to validate output on NewRelic synthetics. My code is not waiting and clicking the auto-complete option in the dropdown as expected.
This is my code:
$browser.get(url).then(function(){
$browser.findElement($driver.By.xpath('//header[@id="header"]//a[2][@href="https://nowcouriers.co.nz/addresschecker/"]')).click().then(function(){
return $browser.findElement($driver.By.className("auto-complete-container")).isDisplayed().then(function(){
$browser.findElement($driver.By.xpath('//input[@id="txt-address-auto-complete"]')).sendKeys("32 Botha Road, Penrose, AUCKLAND").then(function(){
return $browser.waitForAndFindElement($driver.By.xpath('li[class="ui-menu-item"]'), 5000).click().then(function(){
return $browser.findElement($driver.By.xpath('//div[@id="rowServicesOfferedMonToFriZone"]')).getText().then(function(text){
console.log(text)
assert.equal("MON - FRI STANDARD DELIVERY ",text, 'Mon-Fri standard delivery text error');
});
return $browser.findElement($driver.By.xpath('//div[@id="rowServicesOfferedSaturdayZone"]')).getText().then(function(text){
console.log(text)
assert.equal("SATURDAY DELIVERY".toUpperCase(),text.toUpperCase(), 'Saturday delivery text error');
});
return $browser.findElement($driver.By.xpath('(//div[@class="delivery-details"])[2]')).getText().then(function(text){
console.log(text)
assert.equal("BUSINESS DELIVERY ZONE".toUpperCase(),text.toUpperCase(), 'Business delivery text error');
});
});
});
});
});
});
Can anyone help me with the element wait and click here will be highly appreciated.