mirror of
https://github.com/servo/servo.git
synced 2025-08-14 18:05:36 +01:00
Update web-platform-tests to revision 5a754b40cd49c0404863c431b58cc311dc5d167c
This commit is contained in:
parent
8950345e0e
commit
32efe41299
107 changed files with 4243 additions and 435 deletions
|
@ -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()
|
|
@ -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>
|
|
@ -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>
|
|
@ -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()
|
|
@ -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()
|
|
@ -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()
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
|
||||
#overlay {
|
||||
background: blue;
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
height: 100px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
|
||||
#partial {
|
||||
background: yellow;
|
||||
}
|
||||
|
|
|
@ -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>
|
|
@ -8,7 +8,7 @@
|
|||
background: blue;
|
||||
width: 50px; height: 50px;
|
||||
}
|
||||
|
||||
|
||||
#hidden {
|
||||
margin-top: -50px;
|
||||
}
|
||||
|
|
|
@ -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>
|
|
@ -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()
|
|
@ -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):
|
||||
|
|
|
@ -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):
|
||||
|
|
349
tests/wpt/web-platform-tests/webdriver/user_input/click_test.py
Normal file
349
tests/wpt/web-platform-tests/webdriver/user_input/click_test.py
Normal 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
|
@ -0,0 +1,8 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Text Form Landing</title>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
|
@ -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>
|
|
@ -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()
|
Loading…
Add table
Add a link
Reference in a new issue