View Javadoc

1   package br.com.caelum.seleniumdsl;
2   
3   import com.thoughtworks.selenium.Selenium;
4   
5   class DefaultForm implements Form {
6   
7   	private final String id;
8   	private final Selenium selenium;
9   	private int timeout;
10  
11  	// FIXME: é suposto que id venha ou vazio, ou da forma "<id>."
12  	public DefaultForm(Selenium selenium, int timeout, String id) {
13  		this.selenium = selenium;
14  		this.timeout = timeout;
15  		this.id = id;
16  	}
17  
18  	public Field field(String field) {
19  		return new DefaultField(selenium, this, id + field);
20  	}
21  
22  	public void click(String element) {
23  		selenium.click(element);
24  		selenium.waitForPageToLoad(Integer.toString(timeout));
25  	}
26  
27  	public SelectField selectField(String selectField) {
28  		return new DefaultSelectField(selenium, this, id + selectField);
29  	}
30  
31  	public Form check(String checkbox) {
32  		selenium.check(checkbox);
33  		return this;
34  	}
35  
36  	public Form uncheck(String checkbox) {
37  		selenium.uncheck(checkbox);
38  		return this;
39  	}
40  
41  	public boolean isChecked(String checkbox) {
42  		return selenium.getEval("selenium.page().findElement(\"" + checkbox + "\").checked")
43  				.equals("true");
44  	}
45  
46  	public void submit() {
47  		selenium.submit(id == "" ? "//form" : id.substring(0, id.length() - 1));
48  		selenium.waitForPageToLoad(Integer.toString(timeout));
49  	}
50  
51  }