Selenium2+python自动化之数据驱动(ddt)

来源:互联网 发布:淘宝购物评级在那里看 编辑:程序博客网 时间:2024/05/14 05:12

http://www.cnblogs.com/lingzeng86/p/6790827.html


环境准备1.安装ddt模块,打开cmd输入pip install ddt在线安装数据驱动原理1.测试数据为多个字典的list类型2.测试类前加修饰@ddt.ddt3.case前加修饰@ddt.data()4.运行后用例会自动加载成三个单独的用例# coding:utf-8import ddtimport unittest # 测试数据test_data1 = [{"username": "zhangsan", "pwd": "zhangsan"},             {"username": "lisi", "pwd": "lisi"},             {"username": "wangwu", "pwd": "wangwu"},             ]test_data2 = [{"username": "wukong", "pwd": "wukong"},             {"username": "wuneng", "pwd": "woneng"},             {"username": "wujing", "pwd": "wujing"},             ]   @ddt.ddtclass Test(unittest.TestCase):    def setUp(self):        print("Start!")     def tearDown(self):        print("end!")     @ddt.data(*test_data1)    def test_ddt1(self, data):        print(data)     @ddt.data(*test_data2)    def test_ddt2(self, data):        print(data)  if __name__ == "__main__":    unittest.main()
selenium数据驱动案例以登录的方法为例子:从上一篇封装的excel方法里面读取数据,作为测试数据:http://www.cnblogs.com/lingzeng86/p/6793398.html(就是导入的excelunit包)
# coding:utf-8import ddtimport timeimport excelunitimport unittestfrom selenium import webdriver # 测试数据data = excelunit.ExcelUtil("test.xlsx", "Sheet2")testData = data.dict_data()print testData  @ddt.ddtclass Bolg(unittest.TestCase):    """登录博客"""    def setUp(self):        self.driver = webdriver.Chrome()        url = "https://passport.cnblogs.com/user/signin"        self.driver.get(url)        self.driver.implicitly_wait(10)     def login(self, username, psw):        """登录方法,账号和密码参数化"""        self.driver.find_element_by_id("input1").send_keys(username)        self.driver.find_element_by_id("input2").send_keys(psw)        self.driver.find_element_by_id("signin").click()        time.sleep(3)     def is_login_sucess(self):        """判断是否获取到登录账户名称"""        try:            text = self.driver.find_element_by_id("lnk_current_user").text            print text            return True        except:            return False     @ddt.data(*testData)    def test_login(self, data):        """登录案例参考"""        print ("当前测试数据%s" % data)        # 调用登录方法        self.login(data["username"], data["password"])        # 判断结果        result = self.is_login_sucess()        self.assertTrue(result)     def tearDown(self):        self.driver.quit()  if __name__ == "__main__":    unittest.main() 


阅读全文
0 0
原创粉丝点击