Update web-platform-tests to revision 5a754b40cd49c0404863c431b58cc311dc5d167c

This commit is contained in:
Ms2ger 2015-11-17 09:56:30 +01:00
parent 8950345e0e
commit 32efe41299
107 changed files with 4243 additions and 435 deletions

View file

@ -0,0 +1,64 @@
import os
import sys
import random
import unittest
sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
import base_test
repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
from webdriver import exceptions
class OpenAndCloseWindowTest(base_test.WebDriverBaseTest):
def setUp(self):
self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html"))
def tearDown(self):
handles = self.driver.get_window_handles()
for i in range(len(handles) - 1):
self.driver.switch_to_window(handles[i])
self.driver.close()
self.driver.switch_to_window(self.driver.get_window_handles()[0])
def test_open_new_window(self):
handles = self.driver.get_window_handles()
self.driver.find_element_by_id("open_new_window").click()
self.assertEquals(len(handles) + 1, len(self.driver.get_window_handles()))
def test_get_window_handles_returns_the_windows_that_have_been_opened(self):
self.driver.find_element_by_id("open_new_window").click()
handles = self.driver.get_window_handles()
self.driver.switch_to_window(handles[0])
url1 = self.driver.get_current_url()
self.driver.switch_to_window(handles[1])
url2 = self.driver.get_current_url()
if url1 == self.webserver.where_is("controlling_windows/res/other-page.html"):
self.assertEquals(url2, self.webserver.where_is("controlling_windows/res/first-page.html"))
elif url1 == self.webserver.where_is("controlling_windows/res/first-page.html"):
self.assertEquals(url2, self.webserver.where_is("controlling_windows/res/other-page.html"))
else:
self.fail("The wrong set of URLs were returned")
def test_close_window(self):
open_windows = len(self.driver.get_window_handles())
self.driver.find_element_by_id("open_new_window").click()
self.assertEquals(1 + open_windows, len(self.driver.get_window_handles()))
self.driver.close()
self.assertEquals(open_windows, len(self.driver.get_window_handles()))
def test_command_sent_to_closed_window_returns_no_such_window_exception(self):
self.driver.find_element_by_id("open_new_window").click()
self.driver.close()
with self.assertRaises(exceptions.NoSuchWindowException):
self.driver.get_window_handle()
if __name__ == "__main__":
unittest.main()

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>First Page</title>
</head>
<body>
<a href="./other-page.html" target="_blank" id="open_new_window">Open new window</a>
</body>
</html>

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Other Page</title>
</head>
<body>
<a href="./other-page.html" target="_blank" id="open_new_window">Open new window</a>
</body>
</html>

View file

@ -0,0 +1,33 @@
import os
import sys
import random
import unittest
sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
import base_test
repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
from webdriver import exceptions
class WindowHandleTest(base_test.WebDriverBaseTest):
def setUp(self):
self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html"))
def test_window_handle_is_not_current(self):
handle = self.driver.get_window_handle()
self.assertNotEquals(handle, "current")
def test_window_handles_are_unique(self):
number_of_windows = 20
new_window_button = self.driver.find_element_by_id("open_new_window")
for i in range(0, number_of_windows):
new_window_button.click()
handles = self.driver.get_window_handles()
if len(handles) > len(set(handles)):
self.fail('At least one window handle was repeated')
if __name__ == "__main__":
unittest.main()

View file

@ -0,0 +1,35 @@
import os
import sys
import random
import unittest
sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
import base_test
repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
from webdriver import exceptions
class WindowSizeTest(base_test.WebDriverBaseTest):
def test_set_and_get_window_size(self):
self.driver.get(self.webserver.where_is("command_contexts/res/first-page.html"))
initial_dimensions = self.driver.get_window_size()
new_dimensions = {
"height": initial_dimensions["height"] - 100,
"width": initial_dimensions["width"] - 100}
try:
self.driver.set_window_size(new_dimensions["height"], new_dimensions["width"])
actual_dimensions = self.driver.get_window_size()
self.assertDictEqual(new_dimensions, actual_dimensions)
except exceptions.UnsupportedOperationException:
pass
if __name__ == "__main__":
unittest.main()

View file

@ -66,6 +66,42 @@ class GetElementAttributeTest(base_test.WebDriverBaseTest):
el = self.driver.find_element_by_css_selector("div")
self.assertIsNone(el.get_attribute("class"))
def test_find_attribute_with_special_characters(self):
self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
element = self.driver.find_element_by_id("id_special_char_attribute_name")
attribute = element.get_attribute("*")
self.assertEquals("special_char_attribute_name", attribute)
def test_find_attribute_with_special_char_name_and_value(self):
self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
element = self.driver.find_element_by_id("id_special_char_attribute_name_and_value")
attribute = element.get_attribute("@")
self.assertEquals("(", attribute)
def test_find_attribute_with_numeric_name(self):
self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
element = self.driver.find_element_by_id("id_attribute_name_numeric")
attribute = element.get_attribute("1")
self.assertEquals("numeric attribute name", attribute)
def test_find_attribute_with_numeric_value(self):
self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
element = self.driver.find_element_by_id("id_attribute_value_numeric")
attribute = element.get_attribute("one")
self.assertEquals("2", attribute)
def test_find_attribute_with_negative_numeric_name(self):
self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
element = self.driver.find_element_by_id("id_attribute_negative_numeric_name")
attribute = element.get_attribute("-5")
self.assertEquals("attribute name is -5", attribute)
def test_find_attribute_with_negative_numeric_value(self):
self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
element = self.driver.find_element_by_id("id_attribute_negative_numeric_value")
attribute = element.get_attribute("negative_numeric_value")
self.assertEquals("-9", attribute)
if __name__ == "__main__":
unittest.main()

View file

@ -10,7 +10,7 @@
height: 50px;
width: 50px;
}
#overlay {
background: blue;

View file

@ -4,20 +4,20 @@
<style>
* { position: relative }
#overlay {
height: 50px;
width: 50px;
background: blue;
z-index: 1;
}
#hidden {
height: 50px;
width: 50px;
background: red;
z-index: -1;
transform: translate(0, -50px);
/* fix your browsers god damnit */

View file

@ -7,7 +7,7 @@
height: 100px;
width: 100px;
}
#partial {
background: yellow;
}

View file

@ -0,0 +1,89 @@
<html>
<body>
<select>
<option id="selected-1">selected-1</option>
</select>
<select>
<option id="selected-2">selected-2</option>
<option id="unselected-1">unselected-1</option>
</select>
<select disabled>
<option id="unselected-2">unselected-2</option>
<option id="selected-3" selected>selected-3</option>
<option id="unselected-3">unselected-3</option>
</select>
<select>
<option id="unselected-4" checked>unselected-4</option>
<option id="unselected-5">unselected-5</option>
<option id="selected-4" selected>selected-4</option>
</select>
<select>
<option id="unselected-6" selected>unselected-6</option>
<option id="selected-5">selected-5</option>
</select>
<script>
document.getElementById("selected-5").selected = true;
</script>
<select multiple>
<option id="unselected-7">unselected-7</option>
<option id="unselected-8">unselected-8</option>
</select>
<select multiple>
<option id="selected-6" selected>selected-6</option>
<option id="unselected-9" selected>unselected-9</option>
<option id="selected-7">selected-7</option>
</select>
<script>
document.getElementById("unselected-9").selected = false;
document.getElementById("selected-7").selected = true;
</script>
<h1>Input Checkbox Elements</h1>
<input type="checkbox" id="selected-8" />selected-8
<script>
document.getElementById("selected-8").checked = true;
</script>
<input type="checkbox" id="selected-9" checked />selected-9
<script>
document.getElementById("selected-9").indeterminate = true;
</script>
<input type="checkbox" id="unselected-10" />unselected-10
<input type="checkbox" id="unselected-11" checked />unselected-11
<script>
document.getElementById("unselected-11").checked = false;
</script>
<input type="checkbox" id="unselected-12" />unselected-12
<script>
document.getElementById("unselected-12").indeterminate = true;
</script>
<input type="checkbox" id="unselected-13" selected />unselected-13
<input type="checkbox" id="selected-10" checked />selected-10
<h1>Input Radio Elements</h1>
<br>Group 1:<br>
<input type="radio" name="group1" id="selected-11" checked />selected-11
<br>Group 2:<br>
<input type="radio" name="group2" id="selected-12" />selected-12
<script>
document.getElementById("selected-12").checked = true;
</script>
<br>Group 3:<br>
<input type="radio" name="group3" id="unselected-14" />unselected-14
<input type="radio" name="group3" id="selected-13" checked />selected-13
<br>Group 4:<br>
<input type="radio" name="group4" id="unselected-15" checked />unselected-15
<input type="radio" name="group4" id="selected-14" checked />selected-14
<br>Group 5:<br>
<input type="radio" name="group5" id="unselected-16" />unselected-16
<input type="radio" name="group5" id="unselected-17" checked />unselected-17
<script>
document.getElementById("unselected-17").checked = false;
</script>
<br>Group 6<br>
<input type="radio" name="group6" id="selected-15" />selected-15
<input type="radio" name="group6" id="unselected-18" checked />unselected-18
<script>
document.getElementById("selected-15").checked = true;
</script>
</body>
</html>

View file

@ -8,7 +8,7 @@
background: blue;
width: 50px; height: 50px;
}
#hidden {
margin-top: -50px;
}

View file

@ -0,0 +1,72 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Get Element Attribute Extended</title>
<span id=my_id_with_a_relatively_long_name_test class=my_id_with_a_relatively_long_name_test_class>Span</span>
<span id=my-id>Span</span>
<div class=container>
<div id=div1 name=div-name>
<div id=div1-1_div1>
<h1 id=h1_div1.1_div1 class=span-class>h1 element, id:h1_div1.1_div1</h1>
</div>
</div>
<div class=div-depth-2>
<div class=div-depth-3>
<div class=div-depth-4>
<span id=my_id_with_a_relatively_long_name_test class=my_id_with_a_relatively_long_name_test_class>Span</span>
</div>
</div>
</div>
<div>
<a>anchor text 123</a>
<a>anchor text 123</a>
<select>
<option id="opt-1" style="font-size: 11px; display: block;" selected>My Option 1</option>
<option class="opt" >My Option 2</option>
<option value="one">My Option 3</option>
</select>
</div>
<a id="no-vi-1" class="cant-see" style="display:none">no visibility</a><br/>
<a id="no-vi-2" style="display:none">no visibility</a><br/>
<a id="no-vi-2" style="display:none">no visibility</a><br/>
<span id=my_id_with_a_relatively_long_name_test2>Span</span>
<span id="id.period">Span</span>
</div>
<div id=id_attribute_accesskey accesskey=nothing></div>
<!-- Multiple elements with same class -->
<div id=id_div_multiple_elements_same_class_nested_depth_0 class=multiple_elements_same_class_nested>
<div id=id_multiple_elements_same_class_nested_div_depth_1 class=multiple_elements_same_class_nested>
<div id=id_multiple_elements_same_class_nested_div_depth_2 class=multiple_elements_same_class_nested>
</div>
</div>
</div>
<!-- Attribute name with special characters -->
<div id=id_special_char_attribute_name *=special_char_attribute_name></div>
<!-- Attribute value with special characters -->
<div id=id_special_char_attribute_value name="*"></div>
<!-- Attribute value and name with special characters -->
<div id=id_special_char_attribute_name_and_value @="("></div>
<!-- Attribute name is numeric. -->
<div id"id_attribute_name_numeric 1="numeric attribute name"></div>
<!-- Attribute value is numeric. -->
<div id=id_attribute_value_numeric one=2></div>
<!-- Attribute name is negative numeric. -->
<div id=id_attribute_negative_numeric_name -5="attribute name is -5"></div>
<!-- Attribute value is negative numeric. -->
<div id=id_attribute_negative_numeric_value negative_numeric_value=-9></div>

View file

@ -0,0 +1,210 @@
import os
import sys
import unittest
sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
import base_test
class GetElementSelectedTest(base_test.WebDriverBaseTest):
def test_selected_1(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-1")
self.assertEquals(element.is_selected(), True)
def test_selected_2(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-2")
self.assertEquals(element.is_selected(), True)
def test_selected_3(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-3")
self.assertEquals(element.is_selected(), True)
def test_selected_4(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-4")
self.assertEquals(element.is_selected(), True)
def test_selected_5(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-5")
self.assertEquals(element.is_selected(), True)
def test_selected_6(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-6")
self.assertEquals(element.is_selected(), True)
def test_selected_7(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-7")
self.assertEquals(element.is_selected(), True)
def test_selected_8(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-8")
self.assertEquals(element.is_selected(), True)
def test_selected_9(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-9")
self.assertEquals(element.is_selected(), True)
def test_selected_10(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-10")
self.assertEquals(element.is_selected(), True)
def test_selected_11(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-11")
self.assertEquals(element.is_selected(), True)
def test_selected_12(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-12")
self.assertEquals(element.is_selected(), True)
def test_selected_13(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-13")
self.assertEquals(element.is_selected(), True)
def test_selected_14(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-14")
self.assertEquals(element.is_selected(), True)
def test_selected_15(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("selected-15")
self.assertEquals(element.is_selected(), True)
def test_unselected_1(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-1")
self.assertEquals(element.is_selected(), False)
def test_unselected_2(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-2")
self.assertEquals(element.is_selected(), False)
def test_unselected_3(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-3")
self.assertEquals(element.is_selected(), False)
def test_unselected_4(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-4")
self.assertEquals(element.is_selected(), False)
def test_unselected_5(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-5")
self.assertEquals(element.is_selected(), False)
def test_unselected_6(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-6")
self.assertEquals(element.is_selected(), False)
def test_unselected_7(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-7")
self.assertEquals(element.is_selected(), False)
def test_unselected_8(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-8")
self.assertEquals(element.is_selected(), False)
def test_unselected_9(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-9")
self.assertEquals(element.is_selected(), False)
def test_unselected_10(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-10")
self.assertEquals(element.is_selected(), False)
def test_unselected_11(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-11")
self.assertEquals(element.is_selected(), False)
def test_unselected_12(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-12")
self.assertEquals(element.is_selected(), False)
def test_unselected_13(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-13")
self.assertEquals(element.is_selected(), False)
def test_unselected_14(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-14")
self.assertEquals(element.is_selected(), False)
def test_unselected_15(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-15")
self.assertEquals(element.is_selected(), False)
def test_unselected_16(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-16")
self.assertEquals(element.is_selected(), False)
def test_unselected_17(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-17")
self.assertEquals(element.is_selected(), False)
def test_unselected_18(self):
self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
element = self.driver.find_element_by_id("unselected-18")
self.assertEquals(element.is_selected(), False)
if __name__ == "__main__":
unittest.main()

View file

@ -47,8 +47,8 @@ class AlertsTest(base_test.WebDriverBaseTest):
def test_setting_the_value_of_an_alert_throws(self):
self.driver.find_element_by_css_selector('#alert').click()
alert = self.wait.until(lambda x: x.switch_to_alert())
with self.assertRaises(exceptions.ElementNotVisibleException):
alert.send_keys('cheese')
with self.assertRaises(exceptions.ElementNotVisibleException):
alert.send_keys('cheese')
alert.accept()
def test_alert_should_not_allow_additional_commands_if_dismissed(self):

View file

@ -12,7 +12,7 @@ from wptserve.handlers import basic_auth_handler
class WebDriverAuthTest(unittest.TestCase):
# Set up class to start HTTP Server that responds to
# Set up class to start HTTP Server that responds to
# test URLs with various 401 responses
@classmethod
def setUpClass(cls):

View file

@ -0,0 +1,349 @@
import os
import sys
import unittest
sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
import base_test
repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
from webdriver import exceptions, wait
class ClickTest(base_test.WebDriverBaseTest):
def setUp(self):
self.wait = wait.WebDriverWait(self.driver, 5, ignored_exceptions = [exceptions.NoSuchAlertException])
self.driver.get(self.webserver.where_is('modal/res/alerts.html'))
def tearDown(self):
try:
self.driver.switch_to_alert().dismiss()
except exceptions.NoSuchAlertException:
pass
def test_click_div(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("div")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "div")
def test_click_p(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("p")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "p")
def test_click_h1(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("h1")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "h1")
def test_click_pre(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("pre")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "pre")
def test_click_ol(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("ol")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "ol")
def test_click_ul(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("ul")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "ul")
def test_click_a(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("a")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "a")
def test_click_img(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("img")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "img")
def test_click_video(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("video")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "video")
def test_click_canvas(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("canvas")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "canvas")
def test_click_progress(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("progress")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "progress")
def test_click_textarea(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("textarea")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "textarea")
def test_click_button(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("button")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "button")
def test_click_svg(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("svg")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "svg")
def test_click_input_range(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_range")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_range")
def test_click_input_button(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_button")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_button")
def test_click_input_submit(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_submit")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_submit")
def test_click_input_reset(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_reset")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_reset")
def test_click_input_checkbox(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_checkbox")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_checkbox")
def test_click_input_radio(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_radio")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_radio")
def test_click_input_text(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_text")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_text")
def test_click_input_number(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_number")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_number")
def test_click_input_tel(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_tel")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_tel")
def test_click_input_url(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_url")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_url")
def test_click_input_email(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_email")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_email")
def test_click_input_search(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_search")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_search")
def test_click_input_image(self):
self.driver.get(self.webserver.where_is("user_input/res/click.html"))
element = self.driver.find_element_by_id("input_image")
element.click()
alert = self.wait.until(lambda x: x.switch_to_alert())
value = alert.get_text()
alert.accept()
self.assertEquals(value, "input_image")
if __name__ == "__main__":
unittest.main()

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,8 @@
<html>
<head>
<meta charset="utf-8" />
<title>Text Form Landing</title>
</head>
<body>
</body>
</html>

View file

@ -0,0 +1,25 @@
<html>
<head>
<title>Text Form</title>
<meta charset="utf-8" />
<script>
function key_press() {
document.getElementById("text").textContent = document.getElementById("Text1").value;
}
function got_focus() {
var output = document.getElementById("output");
output.checked = true;
}
</script>
</head>
<body>
<p id="text"></p>
<form action="text-form-landing.html">
<input id="Text1" type="text" onkeyup="key_press()"/>
<input id="Text2" type="text" onfocus="got_focus()" />
<input id="output" type="checkbox" />
<input type="submit" name="e" value="mc2" />
</form>
</body>
</html>

View file

@ -0,0 +1,96 @@
import os
import sys
import random
import unittest
sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
import base_test
repo_root = os.path.abspath(os.path.join(__file__, "../../.."))
sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver"))
from webdriver import exceptions
class SendKeysTest(base_test.WebDriverBaseTest):
def setUp(self):
self.driver.get(self.webserver.where_is("user_input/res/text-form.html"))
def test_send_simple_string(self):
element = self.driver.find_element_by_id("Text1")
element.send_keys("lorem ipsum")
self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"lorem ipsum")
def test_send_return(self):
element = self.driver.find_element_by_id("Text1")
returnkey = unichr(int("E006", 16))
element.send_keys([returnkey])
self.assertEquals(u"" + self.driver.get_current_url(), u"" + self.webserver.where_is("user_input/res/text-form-landing.html?e=mc2"))
def test_send_backspace(self):
element = self.driver.find_element_by_id("Text1")
element.send_keys("world ")
element.send_keys("wide ")
element.send_keys("web ")
element.send_keys("consortium")
backspace= unichr(int("E003", 16))
for i in range(0, 11):
element.send_keys([backspace])
self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"world wide web")
def test_send_tab(self):
element1 = self.driver.find_element_by_id("Text1")
element2 = self.driver.find_element_by_id("Text2")
element1.send_keys("typing here")
tab= unichr(int("E004", 16))
element1.send_keys([tab])
output = self.driver.find_element_by_id("output")
tab_pressed = output.get_attribute("checked")
self.assertEquals(tab_pressed, u"true")
def test_send_shift(self):
element = self.driver.find_element_by_id("Text1")
element.send_keys("low ")
shift= unichr(int("E008", 16))
element.send_keys([shift , "u", "p", shift])
self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"low UP")
def test_send_arrow_keys(self):
element = self.driver.find_element_by_id("Text1")
element.send_keys("internet")
backspace= unichr(int("E003", 16))
left= unichr(int("E012", 16))
right= unichr(int("E014", 16))
for i in range(0, 4):
element.send_keys([left])
element.send_keys([backspace])
element.send_keys([right])
element.send_keys("a")
self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"intranet")
def test_select_text_with_shift(self):
element = self.driver.find_element_by_id("Text1")
element.send_keys("WebDriver")
backspace= unichr(int("E003", 16))
shift= unichr(int("E008", 16))
left= unichr(int("E012", 16))
element.send_keys([shift, left, left, left, left, left, left, backspace])
self.assertEquals(self.driver.find_element_by_id("text").get_text(), u"Web")
if __name__ == "__main__":
unittest.main()