Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Configuration {
- public static int timeout = 15;
- //test fails with 4, and even with 10 sec. my Selenide project had 20 sec timeout setting
- }
- /*
- тут - выставляем значение по умолчанию
- аналогичное значение - и в Selenide по умолчанию = 4 секунды
- а в коде тест-класса - мы его переназначим
- тут - то, что подходит для большинства приложений
- */
- *****************
- public class GmailTest extends BaseTest {
- /*
- а тут - задаем нам нужный Configuration.timeout
- пример - из твоего же селенидовского задания
- http://joxi.ru/12MDGYXu4aJOJm
- */
- ********************************
- public void open(String URL)
- /*
- имена параметров - пишутся по правилам lowerCamelCase
- https://google.github.io/styleguide/javaguide.html#s5.2.6-parameter-names
- */
- **************************************
- public static <V> ExpectedCondition<V> elementExceptionsCatcher(final Function<? super WebDriver, V> condition) {
- ...
- } catch (StaleElementReferenceException e) {
- return null;
- } catch (ElementNotVisibleException e) {
- return null;
- }
- ....
- /*
- в качестве параметра этого метода - можно чуть проще
- не
- final Function<? super WebDriver, V> condition
- а
- final ExpectedCondition<V> condition
- Function<? super WebDriver, V> - это предок для ExpectedCondition<V>
- тут нужно ловить еще и IndexOutOfBoundsException
- т к в listNthElementHasText при получении actualTexts.get(index)
- когда index лежит за границами размера списка - возникнет такое исключение
- можно использовать одну catch-секцию
- для перехвата нескольких видов исключений
- http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html
- http://stackoverflow.com/questions/3495926/can-i-catch-multiple-java-exceptions-in-the-same-catch-clause
- */
- *******************************
- public class BasePage extends ConciseAPI {
- ...
- public BasePage(WebDriver driver) {
- ...
- PageFactory.initElements(driver, this);
- }
- /*
- ты ж в проекте не используешь @FindBy аннотацию
- значит - и такой способ инициализации пейджа - PageFactory.initElements(driver, this);
- уже не нужен
- */
- *************************************
- Gmail page = new Gmail(driver);
- Mails mails = new Mails(driver);
- Menu menu = new Menu(driver);
- /*
- Gmail page - вполне можно было бы назвать и gmail
- */
Advertisement
Add Comment
Please, Sign In to add comment