码迷,mamicode.com
首页 > 编程语言 > 详细

基于Python ddt, selenium数据驱动测试实例1

时间:2015-04-30 14:13:48      阅读:2055      评论:0      收藏:0      [点我收藏+]

标签:自动化测试   selenium   

#!/usr/bin/python 
# -*- coding: utf-8 -*-

'''
Created on 2015-04-27
@author: beyondzhou
@name: logintest.py
'''

import unittest
from ddt import ddt, data, unpack
from selenium import webdriver
import os
import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By

@ddt
class LoginTest(unittest.TestCase):
    
    @classmethod
    def setUp(cls):
        # Get the driver of chrome
        chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver.exe"
        os.environ["webdriver.chrome.driver"] = chromedriver
        cls.browser = webdriver.Chrome(chromedriver)
        cls.browser.get('http://10.10.51.150')
        time.sleep(1)

    @data(("admin", "pica8", "Configuration"), ("admin", "pica9", "Invalid username or password"))
    @unpack
    def test_login_in(self, username, password, expected_value):
        # test login in              
        self.browser.find_element_by_xpath("//input[@placeholder='Username']").send_keys(username)
        self.browser.find_element_by_xpath("//input[@placeholder='Password']").send_keys(password)
        self.browser.find_element_by_tag_name("button").click()
        time.sleep(1)
        self.assertTrue(self.is_content_present("%s" % expected_value)) 
        
    def is_element_present(self, how, what):
        """
        Utility method to check presence of an element on page
        :params how: by locator type
        :params what: locator value
        """
        try: 
            self.browser.find_element(by=how, value=what)
        except NoSuchElementException, _:
            return False
        return True
    
    def is_content_present(self, what):
        """
        Utility method to check presence of an element on page
        :params what: content value
        """
        try: 
            self.browser.find_element(by=By.XPATH, value="//*[contains(text(), '%s')]" % what)
        except NoSuchElementException, _:
            return False
        return True
    
    @classmethod
    def tearDown(cls):
        # define when you need
        cls.browser.quit()
        
if __name__ == '__main__':
    unittest.main(verbosity=2)


Result:

test_login_in_1___admin____pica8____Configuration__ (__main__.LoginTest) ... ok
test_login_in_2___admin____pica9____Invalid_username_or_password__ (__main__.LoginTest) ... ok

----------------------------------------------------------------------
Ran 2 tests in 17.688s

OK


基于Python ddt, selenium数据驱动测试实例1

标签:自动化测试   selenium   

原文地址:http://blog.csdn.net/guaguastd/article/details/45394081

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!