Python+Selenium框架设计篇之8-unittest执行脚本方法之addTest

      本文开始介绍如何通过unittest来管理和执行测试用例,这一篇介绍unittest下addTest()方法来加载测试用例到测试套件中去。为了演示效果,我在前面文章的脚本基础上,新建了一个测试脚本,这个测试脚本有一个测试用例,加上前面的测试脚本,一共就是三个测试用例,前面那个测试类里面包括两个测试用例。


新建的测试脚本,test_get_page_title.py代码如下:

# coding = utf-8
import unittest

from framework.browser_engine import BrowserEngine
from pageobjects.baidu_homepage import HomePage


class GetPageTitle(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        browser = BrowserEngine(cls)
        cls.driver = browser.open_browser(cls)

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

    def test_get_title(self):

        homepage = HomePage(self.driver)
        print (homepage.get_page_title())
      今天来学习下,如果加载这两个测试类文件里面的3个测试脚本。在unittest下有一个管理测试套件的叫TestSuit(),我们要使用这个测试套件,需要先初始化一个suite实例,然后这个实例有一个addTest()的方法,可以加载不同类里面的不同测试函数,格式这样的 addTest(测试类的类名(‘测试函数名称,就是test开头的函数’)),我们在testsuites这个包下新建一个TestRunner.py文件用来管理我们的用例启动方式。

来看看这个TestRunner.py的内容

# coding = utf-8
import unittest
import testsuites
from testsuites.test_baidu_search import BaiduSearch
from testsuites.test_get_page_title import GetPageTitle


suite = unittest.TestSuite()
suite.addTest(BaiduSearch('test_baidu_search'))
suite.addTest(BaiduSearch('test_search2'))
suite.addTest(GetPageTitle('test_get_title'))

if __name__=='__main__':
    #执行用例
    runner=unittest.TextTestRunner()
    runner.run(suite)
运行这个TestRunner.py,会在Pycharm的控制台输出类似这样结果:

----------------------------------------------------------------------
Ran 3 tests in 28.065s

OK

Process finished with exit code 0

这个方法有没有局限性呢?当然有,加入你有几百个测试类,你是不是也一直这样手动去添加?有没有其他更好的方法去加载我们的测试脚本,关于这个问题,请看下一篇文章。


  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
好的,下面是基于 PythonSeleniumunittest 的 UI 自动化测试框架搭建步骤: 1. 安装 PythonSelenium 在开始前,需要确保你的电脑上安装了 PythonSelenium。你可以在 Python 官网下载 Python 并安装,安装完成后,在命令行中输入以下命令安装 Selenium: ``` pip install selenium ``` 2. 创建一个测试项目 在你的工作目录中创建一个文件夹来存放你的测试项目,例如 `MyTestProject`。 3. 创建测试用例 在项目文件夹中创建一个文件来存放测试用例,例如 `test_example.py`,并在该文件中写入以下测试用例: ```python import unittest from selenium import webdriver class ExampleTest(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def tearDown(self): self.driver.quit() def test_example(self): self.driver.get("https://www.example.com") self.assertIn("Example Domain", self.driver.title) if __name__ == '__main__': unittest.main() ``` 这个测试用例会打开 Example Domain 网站,并检查页面标题是否包含 "Example Domain"。 4. 运行测试用例 在命令行中进入项目文件夹,并执行以下命令来运行测试用例: ``` python test_example.py ``` 如果一切顺利,你将会看到测试用例执行成功的结果。 5. 扩展测试用例 你可以根据需要扩展测试用例,例如添加更多的测试步骤、使用断言来检查页面元素、使用数据驱动来进行多组数据的测试等等。 以上就是一个基于 PythonSeleniumunittest 的 UI 自动化测试框架搭建的基本步骤,你可以在此基础上进行进一步的优化和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值