1. 程式人生 > >selenium unittest管理測試用例

selenium unittest管理測試用例

11.處理下拉選單的方法

        allarea = self.lsp.find_element_by_id("province")

        alloptions =allarea.find_elements_by_tag_name("option")

        for option in alloptions:

            exp_value =option.get_attribute("value")

            print exp_value

            if exp_value == "110000":

                option.click()

第二種方法(只適用於select選框)

通過選項文字

from selenium.webdriver.support.ui import Select

Select(driver.find_element_by_xpath(".//*[@id='province']")).select_by_visible_text(u"北京市")

通過索引

Select(driver.find_element_by_name("city")).select_by_index(0)

通過value值

Select(driver.find_element_by_name("county")).select_by_value("110100")

第三種方法:層級定位先定位父級元素,通過父元素在定位子元素

1.      處理frame彈框

   ifr=driver.find_element_by_xpath(“”)   #先定位frame彈框

         driver.switch_to_frame(ifr)       #再跳轉到frame彈框

2.      設定預設解碼方式

Import sys

Sys.setdefaultencoding(“utf8”)

3.      封測試套以及寫報告

myfile="C:\Users\Administrator\Desktop\\tinyshop\\report\\report.html"   #C:\Users\Administrator\Desktop\tinyshop\report\report.html

mysuit=open(myfile,"wb")

suite=unittest.TestSuite()

suite.addTest(address_buy("test001"))

runner=HTMLTestRunner.HTMLTestRunner(title=u"花錢",stream=mysuit,description=u"沒別的,就是有錢")

runner.run(suite)

mysuit.close()

4.      unittest.Test對用例管理的過程

importunittest

classcase(unittest.TestCase):

    def setUp(self):

        pass

    def tearDown(self):

        pass

    def testa(self):

        pass

    def testd(self):

        pass

    def testc(self):

        pass

if__name__=="__main__":

             unittest.main()

先執行setup,再執行test開頭的用例,最後執行teardown

所有用例必須以test開頭

當裡面有很多用例,掃描所有以test開頭的用例,先執行初始化,所有用例按字母順序執行,最後teardownt退出

unittest.main()表示執行所有test開頭的case

5.      執行測試套

runner=unittest.TextTestRunner()

   runner.run(套名)

6.      讀取類裡面所有的用例,可以實現多類一起測試

suite1 =unittest.TestLoader().loadTestsFromTestCase(類名)   #注意:類名沒有()

suite =unittest.TestSuite([suite1])

unittest.TextTestRunner().run(suite)