selenium webdriver(python篇)学习(三)----unittest学习

上一篇 / 下一篇  2012-11-03 15:52:29 / 个人分类:webdriver

为了后面用python编写并执行有例,我们还需要对python的pyunit(即unittest)有一定了解.
如果你不了解,可以用selenium IDE录制后转换成python(unittest)driver.
下面我还是以登录51为例,selenium  IDE录制如下

转换为python(unittest):
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re

class login(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.51testing.com/"
        self.verificationErrors = []
    
    def test_loginpass(self):
        driver = self.driver
        driver.get(self.base_url + "/html/index.html")
        driver.find_element_by_id("username").clear()
        driver.find_element_by_id("username").send_keys("name")
        driver.find_element_by_id("userpass").clear()
        driver.find_element_by_id("userpass").send_keys("pwd")
        driver.find_element_by_id("dologin").click()
        driver.find_element_by_id("xspace-seccode").clear()
        driver.find_element_by_id("xspace-seccode").send_keys("1433")
        #如需要动行成功,这里验证码改为手动输入。raw_input("请输入看到的验证码按enter:")
        driver.find_element_by_id("securitysubmit").click()
    
    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True
    
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

我们对代码进行一下分析:
class login实现一个继承unittest.Testcase的类,
unittest.main()来测试该类中以test开头的测试用例
setUp初始化程序:可以看到存放是启动wedbdriver程序
tearDowni清整程序:只要setup启动成功,不管以test开头的case程序是否执行成功,teardown程序都将被执行。
is_element_present这个函数是用来查找页面元素是否存在,在这里用处不大,通常删除。因为判断页面元素是否
存在一般都加在testcase中.

TAG: Python python unittest webdriver WebDriver

wzw880的个人空间 引用 删除 wzw880   /   2012-11-20 16:49:32
请教下代码is_element_present,这个函数是检查前面用IDE录制的页面元素(即driver.find_element_by_id("dologin").click()),还是检查后面添加断言中的页面元素?
wzw880的个人空间 引用 删除 wzw880   /   2012-11-20 16:49:14
5
 

评分:0

我来说两句

Open Toolbar