欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > Selenium + Python 自动化测试18(数据驱动实现测试)

Selenium + Python 自动化测试18(数据驱动实现测试)

2024/10/24 11:14:00 来源:https://blog.csdn.net/weixin_45999406/article/details/141297459  浏览:    关键词:Selenium + Python 自动化测试18(数据驱动实现测试)

        我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。

上一篇我们讨论了数据驱动测试中如何读取Excel文件,今天我们试着进一步深入学习数据驱动。

         本篇文章我们讨论一下如何使用数据驱动思想实现测试。

1、数据驱动框架基础知识

DDT:data-driven tests 的缩写形式。unittest 没有自带数据驱动功能,可以使用DDT来实现。

使用方法说明:

1)ddt.data :装饰测试方法,参数是一些列的值,比如元组等。

2)ddt.file_data: 装饰测试方法,参数是文件名,测试数据保存在参数文件中。

3)ddt.unpack:当ddt 传递复杂的数据结构时使用

举个简单的例子说明:

先感受一下ddt的执行效果

#coding = utf-8import unittestimport ddt@ddt.ddtclass Test_exp(unittest.TestCase):def setUp(self):pass@ddt.data(1,2,3)def test_1(self,turns):print(turns)def tearDown(self):passif __name__ == '__main__':unittest.main()开始执行说找不到ddt,报错如下:

安装一下看看:

pip install ddt

再次执行成功了,如下如明显看出执行了3次,每个参数一次。

2、简单实例如登录

1)我们之前登录的写法
#输入正确的密码登录成功测试def test_login_Y(self):username = "standard_user"password = "secret_sauce"print("登录的用户名是:%s,密码是:%s"%(username,password))driver=login.Login(username,password).login()time.sleep(3)#加入断言  //*[@id="header_container"]/div[1]/div[2]/div# 验证有显示:ProductsUIResult = driver.find_element_by_xpath('//*[@id="header_container"]/div[2]/span').textself.assertEqual("Products", UIResult, "密码正确登录验证失败,fail")self.driver=driver

我们通过3组数据验证:

2)编写数据参数化的测试脚本

这里列一下上一篇文章我们写的读取Excel中数据的函数,这次要调用。

        有以上的准备条件,可以使用ddt的思路写出了简单重复测试,这里只是用户名和密码的数据不一样的用例了。

#使用unittest的框架,每个案例的标准形式@ddtclass LoginTest(unittest.TestCase):def setUp(self):print("登录测试开始")#输入正确的密码登录成功测试@data(*excel_data)def test_login_Y(self,dic):driver=login.Login(dic.get("username"),dic.get("password")).login()print("此次测试的用户名%s"%dic.get("username"))time.sleep(3)#加入断言  //*[@id="header_container"]/div[1]/div[2]/div# 验证有显示:ProductsUIResult = driver.find_element_by_xpath('//*[@id="header_container"]/div[2]/span').textself.assertEqual("Products", UIResult, "密码正确登录验证失败,fail")self.driver=driverdef tearDown(self)#浏览器退出self.driver.quit()print("登录测试结束")检查测试结果:

测试了3次对应的用户名如上图。

3)关联我们生成报告并发送邮件的执行

这里只是截图一下,具体可以参考我之前的分享内容。

执行完成以后,测试报告如下:

今天就先学习到这里吧。

每天进步一点点,加油!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com