Selenium

Как проверить наличие элемента, не завалив тест

Запиши себе эту функцию, очень пригодится. Вызываем её, чтобы проверить наличие элемента, а потом, например, кликаем его. Отсутствие элемента не завалит тест. Передаем туда конструкцию By и драйвер.
elementExists(By.xpath(nestedCoupon), driver)
public static boolean elementExists(By by, WebDriver driver) {  
    try {  
        driver.findElement(by);  
    } catch (NoSuchElementException e) {  
        return false;  
    }  
    return true;  
}

Как с помошью Selenium зааплодить файл в невидимый инпут

Нужно сначала его сделать видимым. Вот функция, которая принимает xpath инпута и драйвер, инициализированный ранее, и удаляет все классы:

public static void jsDeleteClasses(String xpath, WebDriver driver) throws InterruptedException {  
    JavascriptExecutor js = (JavascriptExecutor) driver;  
    String script = "document.evaluate(\""+xpath+"\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)" +  
            ".singleNodeValue.setAttribute('class', '');";  
    js.executeScript(script);  
}

Можно переделать чтоб удаляла атрибут style, например.