2017-02-09 9 views
0

Надежный метод Try Catch для использования в WebDriver?Надежный метод Try Catch для использования в WebDriver?

  1. Может кто-то советы оттуда experiece выглядит ли следующий метод правильно вероятный сценарий, где ищет элемент получает тайм-аут или неправильно локатор используется?

  2. тайм-аута Exception dosnt, кажется, печать мой System.out.println после того, как я установил ожидание в 2seconds и изменить локатор с неправильным XPath

Мой код:

public void clickSupercarsLink() throws Exception { 
    try { 
     this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click(); 
    } catch (TimeoutException e) { 
     System.out.println("UNABLE TO FIND ELEMENT : Timeout"); 
    } catch (Exception e) { 
     System.out.println("UNABLE TO FIND ELEMENT : Exception"); 
     throw (e); 
    } 
} 

Новый код:

public void clickSupercarsLink() throws Exception { 
    try { 
     this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click(); 
    } catch (TimeoutException e) { 
     System.out.println("Timed out attempting to click on element: <" + link_Supercars.toString() + ">"); 
    } catch (Exception e) { 
     System.out.println("Unable to click on element: " + "<" + link_Supercars.toString() + ">"); 
    } 
} 
+0

Вы намерены не реконструировать случай «TimeoutException»? –

+0

@ Энди Тернер, что бы вы посоветовали? если я сниму исключение, что бы это сделало (извините, если звучит глупо) – Gbru

+0

Не знаю, я не знаю, что вы пытаетесь сделать. Я просто указываю, что метод будет возвращаться обычно в случае 'TimeoutException', хотя ссылка не была нажата. –

ответ

1

@Phil Я бы хотел, чтобы вы выбрали это исключение и обработали его на высоком уровне. В текущем сценарии, если есть критическое исключение, ваш тест будет методом, вызывающим ваш метод clickSupercarsLink, не будет знать, что произошло исключение.

В любом случае вы бросаете исключение, почему вы должны его поймать и ничего не делать с ним, а затем просто печатать !! Это не почему вы выбрали исключение?

public void clickSupercarsLink() throws Exception { 
this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click(); 
} 
+0

ok @Mayur Shah какие изменения вы внесли бы в вышесказанное, основываясь на вашем опыте, извините, что обработка исключений немного сложна, спасибо снова – Gbru

+0

Это лучшее, что вы можете сделать. –

+0

ok @Mayur Shah за вашу помощь – Gbru

 Смежные вопросы

  • Нет связанных вопросов^_^