0

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.

This is the snapshot when failing the test enter image description here

ChinS
  • 199
  • 2
  • 11

0 Answers0