# feature tests for Divs, Spans and P's # revision: $Revision: 962 $ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__ require 'unittests/setup' class TC_Divs_XPath < Test::Unit::TestCase include Watir def setup $ie.goto($htmlRoot + "div.html") end def test_divs assert_raises(UnknownObjectException) {$ie.div(:xpath , "//div[@id='div77']/").click } assert_raises(UnknownObjectException) {$ie.div(:xpath , "//div[@title='div77']/").click } assert($ie.text_field(:xpath, "//input[@name='text1']/").verify_contains("0") ) $ie.div(:xpath , "//div[@id='div3']/").click assert($ie.text_field(:xpath, "//input[@name='text1']/").verify_contains("1") ) $ie.div(:xpath , "//div[@id='div4']/").click assert($ie.text_field(:xpath, "//input[@name='text1']/").verify_contains("0") ) end def test_div_properties assert_raises(UnknownObjectException) {$ie.div(:xpath , "//div[@id='div77']/").text } assert_raises(UnknownObjectException) {$ie.div(:xpath , "//div[@title='div77']/").text } assert_equal("This div has an onClick that increments text1", $ie.div(:xpath , "//div[@id='div3']/").text.strip ) assert_equal("This text is in a div with an id of div1 and title of test1", $ie.div(:xpath , "//div[@title='Test1']/").text.strip ) assert_raises(UnknownObjectException) {$ie.div(:xpath , "//div[@id='div77']/").class_name } assert_equal("blueText" , $ie.div(:xpath , "//div[@id='div2']/").class_name ) assert_equal("" , $ie.div(:xpath , "//div[@id='div1']/").class_name ) end def test_objects_in_div assert($ie.div(:xpath , "//div[@id='buttons1']/").button(:index,1).exists? ) assert(!$ie.div(:xpath , "//div[@id='buttons1']/").button(:index,3).exists? ) assert($ie.div(:xpath , "//div[@id='buttons1']/").button(:name,'b1').exists? ) assert($ie.div(:xpath , "//div[@id='buttons2']/").button(:index,1).exists? ) assert($ie.div(:xpath , "//div[@id='buttons2']/").button(:index,2).exists? ) assert(!$ie.div(:xpath , "//div[@id='buttons1']/").button(:index,3).exists? ) $ie.div(:xpath , "//div[@id='buttons1']/").button(:index,1).click assert_equal( 'button1' , $ie.div(:xpath , "//div[@id='text_fields1']/").text_field(:index,1).value) assert_equal( 3 , $ie.div(:xpath , "//div[@id='text_fields1']/").text_fields.length ) end def test_span_properties assert_raises(UnknownObjectException) {$ie.span(:xpath , "//span[@id='span77']/").text } assert_raises(UnknownObjectException) {$ie.span(:xpath , "//span[@title='span77']/").text } assert_equal("This span has an onClick that increments text2" , $ie.span(:xpath , "//span[@id='span3']/").text.strip ) assert_equal("This text is in a span with an id of span1 and title of test2" , $ie.span(:xpath , "//span[@title='Test2']/").text.strip ) assert_raises(UnknownObjectException) {$ie.span(:xpath , "//span[@id='span77']/").class_name } assert_equal("blueText" , $ie.span(:xpath , "//span[@id='span2']/").class_name ) assert_equal("" , $ie.span(:xpath , "//span[@id='span1']/").class_name ) end def test_objects_in_span assert($ie.span(:xpath , "//span[@id='buttons1']/").button(:index,1).exists? ) assert(!$ie.span(:xpath , "//span[@id='buttons1']/").button(:index,3).exists? ) assert($ie.span(:xpath , "//span[@id='buttons1']/").button(:name,'b1').exists? ) assert($ie.span(:xpath , "//span[@id='buttons2']/").button(:index,1).exists? ) assert($ie.span(:xpath , "//span[@id='buttons2']/").button(:index,2).exists? ) assert(!$ie.span(:xpath , "//span[@id='buttons1']/").button(:index,3).exists? ) $ie.span(:xpath , "//span[@id='buttons1']/").button(:index,1).click assert_equal( 'button1' , $ie.span(:xpath , "//span[@id='text_fields1']/").text_field(:index,1).value) assert_equal( 3 , $ie.span(:xpath , "//span[@id='text_fields1']/").text_fields.length ) end def test_p assert($ie.p(:xpath , "//p[@id='number1']/").exists?) assert($ie.p(:xpath , "//p[@title='test_3']/").exists?) assert(!$ie.p(:xpath , "//p[@id='missing']/").exists?) assert(!$ie.p(:xpath , "//p[@title='test_55']/").exists?) assert_raises( UnknownObjectException) {$ie.p(:xpath , "//p[@id='missing']/").class_name } assert_raises( UnknownObjectException) {$ie.p(:xpath , "//p[@id='missing']/").text } assert_raises( UnknownObjectException) {$ie.p(:xpath , "//p[@id='missing']/").title } assert_raises( UnknownObjectException) {$ie.p(:xpath , "//p[@id='missing']/").to_s } assert_raises( UnknownObjectException) {$ie.p(:xpath , "//p[@id='missing']/").disabled } end end