Selenium c# accept confirm box

前端 未结 3 688
醉酒成梦
醉酒成梦 2020-12-10 13:14

I have written an nUnit test using selenium in c#.

All was going well until I have to confirm a JS confirm box.

here is the code I am using:

         


        
3条回答
  •  北荒
    北荒 (楼主)
    2020-12-10 13:55

    The end point I am testing does not have reliable response times and the only way I could get it to always work with webdriver selenium-dotnet-2.33.0 (.NET4) using Firefox was by doing the following:

    private void acceptAlert(){
    string alertText = "";
    IAlert alert = null;
    while (alertText.Equals("")){
    if (alert == null)
    {
    try{
    alert = driver.SwitchTo().Alert();
    }
    catch{ 
    System.Threading.Thread.Sleep(50); }
    }
    else{
    try{
    alert.Accept();
    alertText = alert.Text;
    }
    catch (Exception ex){
    if (ex.Message.Equals("No alert is present")) alertText = "Already Accepted";
    else System.Threading.Thread.Sleep(50);
    }
    }
    }
    }
    

提交回复
热议问题