Uploading files is easy. Files to be uploaded can be either placed in a hard-coded location (bad) or stored on the classpath (better). Here is a simple example:
public class NewCompanyPage extends PageObject { ... @FindBy(id="object_logo") WebElement logoField; public NewCompanyPage(WebDriver driver) { super(driver); } public void loadLogoFrom(String filename) { upload(filename).to(logoField); } }