selenium,测试套件的使用

Posted becks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium,测试套件的使用相关的知识,希望对你有一定的参考价值。

学习 selenium-webdriver 已经一段时间了,最近学习到,测试用例的批量执行,和测试套件的使用,有点自己的理解,不晓得对不对,希望大家指正!
 
写一个测试用例 baidu.py
 
class Baidu(unittest.TestCase):
  def setUp(self):
    self.driver=webdriver.Firefox()
    self. base_url=http:www.baidu.com
  def test_search(self):
    driver=self.driver
    driver.get(self.base_url+/)
    driver.find_element_by_id(kw).send_keys(cnblogs)
    driver.find_element_by_id(su).click()
  def test_login(self):
    driver=self.driver
    driver.get(self.base_url+/)
    dr.find_element_by_name(userName).clear()
    dr.find_element_by_name(userName).send_keys(user)
    dr.find_element_by_name(password).clear()
    dr.find_element_by_name(password).send_keys(123456)
    dr.find_element_by_id(TANGRAM__PSP_26__submit).click()
  def tearDown(self):
    self.driver.quit()
1.批量执行,不使用测试套件的好处
批量执行的时候,我们在一个测试文件里面执行该文件里面的 n 条测试用例,如上面 baidu.py
这个文件,我们可以执行执行:
if __name__=="__main__":
    suite=unittest.TestSuite()
    suite.addTest(Baidu("test_search"))
    suite.addTest(Baidu("test_login"))
    runner=unittest.TextTestRunner()
    runner.run(suite)

这样你可以在一个文件里面执行所有的用例,也可以执行自己想要执行的那条用例,使用“#”,可

以注释掉当前不需要执行的那条用例
2.使用测试套件的好处
使用测试套件,我们需要重新建立一个专门执行用例的文件 如 run_case.py
import unittest
from baidu import Baidu
......... #导入相关模块


suite=unittest.TestSuite()
suite.addTest(unittest.makeSuite(baidu.Baidu))runner=unittest.TextTestRunner()
runner.run(suite)

 

这样你可以在里面添加一条语句,就可以执行整个文件里面的 case,如
suite.addTest(unittest.makeSuite(baidu.Baidu)) 这样就可以执行整个 baidu.py 里面的
test_search,test_login 这两条用例了。
以上就是我的理解,希望大家能够给我指正!

以上是关于selenium,测试套件的使用的主要内容,如果未能解决你的问题,请参考以下文章

Python+Selenium笔记:unittest的Test Suite(测试套件)

Selenium3.0基础 — unittest中测试套件的使用

如何在 AWS lambda 中部署 selenium 测试套件

错误 [严重]:从渲染器接收消息超时:20.000 在 Jenkins 上通过 Selenium 执行测试套件时

TestNG 可以运行多个套件吗?

selenium之批量执行测试用例