【python+selenium-02】关键字驱动结合ddt
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【python+selenium-02】关键字驱动结合ddt,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1953字,纯文字阅读大概需要3分钟。
内容图文
![【python+selenium-02】关键字驱动结合ddt](/upload/InfoBanner/zyjiaocheng/608/0ae07167b6d446e18f91cb69fac95449.jpg)
unittest是python自动化测试的框架,里面集成了很多好用的方法。
我们先来看下下面的一段代码(实现了3个测试用例)
import unittest from selenium import webdriver from time import sleep class TestDemo01(unittest.TestCase): # 前置条件 def setUp(self): self.driver = webdriver.Firefox() self.driver.get("http://www.baidu.com") # 后置条件 def tearDown(self): sleep(2) self.driver.quit() def test_01(self): self.driver.find_element_by_id("kw").send_keys("python") self.driver.find_element_by_id("su").click() def test_02(self): self.driver.find_element_by_id("kw").send_keys("java") self.driver.find_element_by_id("su").click() def test_03(self): self.driver.find_element_by_id("kw").send_keys("mysql") self.driver.find_element_by_id("su").click() if __name__ == '__main__': unittest.main()
我们发现一个什么问题?
相同的操作,只是输入的内容不同,代码冗余,这个时候ddt就出现了。
import unittest from selenium import webdriver from time import sleep from ddt import ddt, data @ddt() class TestDemo01(unittest.TestCase): # 前置条件 def setUp(self): self.driver = webdriver.Firefox() self.driver.get("http://www.baidu.com") # 后置条件 def tearDown(self): sleep(2) self.driver.quit() @data('python', 'java', 'mysql') def test_04(self, text): self.driver.find_element_by_id("kw").send_keys(text) self.driver.find_element_by_id("su").click() if __name__ == '__main__': unittest.main()
通过ddt的 @ddt 和 @data注解,让代码"瘦身"了!
最后怎么让关键字驱动与ddt结合呢?
import unittest from time import sleep from ddt import ddt, data, unpack from auto.tool.webui_autotest import * @ddt() class TestDemo02(unittest.TestCase): # 前置条件 def setUp(self): self.driver = WebUIInit("firefox", "http://www.baidu.com") # 后置条件 def tearDown(self): sleep(2) self.driver.quit() @data(('id', 'kw', 'su', 'python'), ('id', 'kw', 'su', 'java')) @unpack def test_05(self, locator_type, locator, locator1, text): self.driver.send_keys(locator_type, locator, text) self.driver.click(locator_type, locator1) if __name__ == '__main__': unittest.main()
是不是觉得好简单?
内容总结
以上是互联网集市为您收集整理的【python+selenium-02】关键字驱动结合ddt全部内容,希望文章能够帮你解决【python+selenium-02】关键字驱动结合ddt所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。