View Javadoc

1   /**
2    * Copyright (c) 2002-2015, JWebUnit team.
3    *
4    * This file is part of JWebUnit.
5    *
6    * JWebUnit is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Lesser General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * JWebUnit is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public License
17   * along with JWebUnit.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package net.sourceforge.jwebunit.tests;
20  
21  import static net.sourceforge.jwebunit.junit.JWebUnit.assertTitleEquals;
22  import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt;
23  import static net.sourceforge.jwebunit.junit.JWebUnit.clickElementByXPath;
24  import static net.sourceforge.jwebunit.junit.JWebUnit.getElementTextByXPath;
25  import static net.sourceforge.jwebunit.junit.JWebUnit.setBaseUrl;
26  import static org.junit.Assert.assertEquals;
27  
28  import org.junit.Test;
29  
30  /**
31   * Test all methods that use XPath
32   * @author Julien Henry
33   */
34  public class XPathTest extends JWebUnitAPITestCase {
35  
36      public void setUp() throws Exception {
37          super.setUp();
38          setBaseUrl(HOST_PATH + "/XPathTest");
39      }
40  
41      @Test public void testAssertElementPresentByXPath() throws Throwable {
42          beginAt("/testPage.html");
43          assertPassFail(
44                  "assertElementPresentByXPath",
45                  "//tr[contains(.//a/@href,\"next\") and contains(string(),\"test link\")]",
46                  "//InvalidXPath");
47      }
48  
49      @Test public void testAssertElementNotPresentByXPath() throws Throwable {
50          beginAt("/testPage.html");
51          assertPassFail("assertElementNotPresentByXPath", "//InvalidXPath",
52                  "//tr[contains(.//a/@href,\"next\") and contains(string(),\"test link\")]");
53      }
54  
55      @Test public void testClickElementByXPath() throws Throwable {
56          beginAt("/testPage.html");
57          clickElementByXPath("//tr//a[contains(@href,\"next\") and contains(string(),\"test link\")]");
58          assertTitleEquals("Next");
59      }
60      
61      @Test public void testGetElementTextByXPath() throws Throwable {
62          beginAt("/testPage.html");        
63          assertEquals("test link", getElementTextByXPath("//tr//a[contains(@href,\"next\")]"));
64      }
65  }