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
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 }