Как в TestNG передавать переменные между файлами классов

Легко. Если у вас тестСьюты лежат не только в разных классах, но также и в разных .java файлах, нужные переменные можно передавать, записывая их в ITestContext в одном классе, а потом читая их оттудаже в другом классе. ITestContext это данные, которые могут перезаписывать или использовать любые тест методы в TestNG.

Записываем данные:

@Test(description=\"Найти код\")  
public void check(ITestContext context) {  
    data = SomeClass.doSomething(driver, data, config);  
    context.setAttribute(\"myVariable\", data);  
}

Читаем их в другом классе:

@Test(description=\"test2\")  
public void test2(ITestContext context) {  
    String data = (String) context.getAttribute(\"myVariable\");  
}

Как с помошью 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, например.