您的位置:首页 > 运维架构 > Linux

selenium unittest管理测试用例

2015-11-15 09:14 686 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息