Selenium RC For Python:教程4

來源:互聯網
上載者:User
checkbox:使用check和is_checked方法代碼    def test_click_checkbox_with_ischecked(self):
        sel = self.selenium
        sel.open(self.TEST_PAGE_URL)
        sel.wait_for_page_to_load(self.MAX_WAIT_IN_MS)
        sel.check("id=checkBoxInput")
        self.assertTrue(sel.is_checked("id=checkBoxInput"))

 

使用click和get_value方法 

代碼    def test_checkbox_with_getvalue(self):
        sel = self.selenium
        sel.open(self.TEST_PAGE_URL)
        sel.wait_for_page_to_load(self.MAX_WAIT_IN_MS)
        self.assertEquals("off", sel.get_value("id=checkBoxInput"))
        sel.click("id=checkBoxInput")
        self.assertEquals("on", sel.get_value("id=checkBoxInput"))

 

Radio Button

處理button的時候,在locator中,需要同時提供name(input name)以及value(radio button的value) 

代碼    def test_clickradiobutton_use_checkandischeck(self):
        sel = self.selenium
        sel.open(self.TEST_PAGE_URL)
        sel.wait_for_page_to_load(self.MAX_WAIT_IN_MS)
        self.assertFalse(sel.is_checked("name=radioButton value=a"))
        self.assertFalse(sel.is_checked("name=radioButton value=b"))
        
        sel.check("name=radioButton value=b")
        self.assertTrue(sel.is_checked("name=radioButton value=b"))
        self.assertFalse(sel.is_checked("name=radioButton value=a"))

 

我們也可以使用click和get_value方法,不過要注意的是單獨的button有兩個值:"on"和"off" 

代碼    def test_clickradiobutton_use_clickabdgetvalue(self):
        sel = self.selenium
        sel.open(self.TEST_PAGE_URL)
        sel.wait_for_page_to_load(self.MAX_WAIT_IN_MS)
        self.assertEquals("off", sel.get_value("name=radioButton")) 
        self.assertEquals("off", sel.get_value("name=radioButton value=a"))
        self.assertEquals("off", sel.get_value("name=radioButton value=b"))
        
        sel.click("name=radioButton value=b")
        self.assertEquals("off", sel.get_value("name=radioButton")) 
        self.assertEquals("off", sel.get_value("name=radioButton value=a"))
        self.assertEquals("on", sel.get_value("name=radioButton value=b"))  

 

Select

Select比一般的input有點複雜,首先,必須先確定select元素,接著要確定select裡面的選項。select裡面的option可以用ids和values來確定。所以我們必須用locator來確定select本身以及我們感興趣的選項。選項的locator可以是選項元素的id,值,標籤或者在select裡的index。 

當選擇之後,我們可以使用get_value,get_selected_value, get_selected_label等方法

代碼    def test_selectfromdropdown_novaluesinselect_uselabeloptionlocator(self):
        sel =self.selenium
        sel.open(self.TEST_PAGE_URL)
        sel.wait_for_page_to_load(self.MAX_WAIT_IN_MS)
        self.assertEquals("option one", sel.get_selected_label("id=selectWithLabelsOnly"))
        self.assertEquals("option one", sel.get_value("id=selectWithLabelsOnly"))
        
        sel.select("id=selectWithLabelsOnly", "label=option two")
        self.assertTrue(sel.is_something_selected("id=selectWithLabelsOnly"))
        self.assertEquals("option two", sel.get_selected_label("id=selectWithLabelsOnly"))
        self.assertEquals("option two", sel.get_value("id=selectWithLabelsOnly"))

 

使用index的版本

代碼   def test_selectfromdropdown_novaluesinselect_useindexoptionlocator(self):
        sel =self.selenium
        sel.open(self.TEST_PAGE_URL)
        sel.wait_for_page_to_load(self.MAX_WAIT_IN_MS)
        self.assertEquals("option one", sel.get_selected_label("id=selectWithLabelsOnly"))
        self.assertEquals("option one", sel.get_value("id=selectWithLabelsOnly"))
        
        sel.select("id=selectWithLabelsOnly", "index=1")
        self.assertTrue(sel.is_something_selected("id=selectWithLabelsOnly"))
        self.assertEquals("option two", sel.get_selected_label("id=selectWithLabelsOnly"))
        self.assertEquals("option two", sel.get_value("id=selectWithLabelsOnly"))

 

處理帶值的select

代碼    def test_selectfromdropdown_labelsandvaluesinselect_uselabellocator(self):
        sel = self.selenium
        sel.open(self.TEST_PAGE_URL)
        self.assertTrue(sel.is_something_selected("id=selectWithLabelsAndValues"))
        
        selectedLabel = sel.get_selected_label("id=selectWithLabelsAndValues")
        self.assertEquals("option one", selectedLabel)
        self.assertEquals("1", sel.get_value("id=selectWithLabelsAndValues"))
        self.assertEquals("1", sel.get_selected_value("id=selectWithLabelsAndValues"))
        
        sel.select("id=selectWithLabelsAndValues", "label=option two")
        self.assertTrue(sel.is_something_selected("id=selectWithLabelsAndValues"))
        selectedLabel = sel.get_selected_label("id=selectWithLabelsAndValues")
        self.assertEquals("option two", selectedLabel)
        self.assertEquals("2", sel.get_value("id=selectWithLabelsAndValues"))
        self.assertEquals("2", sel.get_selected_value("id=selectWithLabelsAndValues"))

 

Alert Box

主要使用get_alert方法處理alert box,這個方法和點OK 按鈕有相同的效果,同時還返回alert box上的文本。 

 代碼

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.