python下的selenium的执行几种方式

1、通过类的实例化(此为狭义的)。
2、通过unittest.main(verbosity=2),这样可以更清楚的执行。
verbosity=2
显示每个用例的详细信息
可以省略,但测试结果不详细
3、仅通过unittest.TextTestRunner()去执行测试脚本。
4、通过三种方式添加测试套件后,执行脚本

addTest

__author__ = 'Administrator'
import unittest
from selenium_day4.testcase.login_testcase import UserLoginTestCase

def TestCase_to_suit_by_addtest():
    # 实例化unittest下的testsuit类的对象
    testcasesuit = unittest.TestSuite()
    # 使用testcasesuit对象调用addtest的方法,将类中的用例一个一个添加到套件中
    testcasesuit.addTest(UserLoginTestCase("test_01_login_by_correct_username_password"))
    testcasesuit.addTest(UserLoginTestCase("test_02_login_by_correct_username_wrong_password"))
    testcasesuit.addTest(UserLoginTestCase("test_03_login_by_wrong_username_correct_password"))
    testcasesuit.addTest(UserLoginTestCase("test_04_login_by_correct_username_null_password"))
    testcasesuit.addTest(UserLoginTestCase("test_05_login_by_null_username_correct_password"))
    testcasesuit.addTest(UserLoginTestCase("test_06_login_button_clickable"))
    return testcasesuit

if __name__=="__main__":
    # 实例化unittest下的TextTestRunner类的对象
    test_runner = unittest.TextTestRunner()
    # 获取测试套件
    test_suit = TestCase_to_suit_by_addtest()
    # 通过test_runner调用run的方法来执行套件
    test_runner.run(test_suit)
suite=unittest.TestSuite()
tests=[web(“test1”),web(“test3”),web(“test4”)] #按照填写的顺序执行
suite.addTests(tests)
runner=unittest.TextTestRunner(verbosity=2)
runner.run(suite)

unittest.makeSuite

__author__ = 'Administrator'
import unittest
from selenium_day4.testcase.login_testcase import UserLoginTestCase

def TestCase_to_suit_by_makesuit():
    # 调用unittest下的makesuit的方法将类中的用例打包
    class_testcase = unittest.makeSuite(UserLoginTestCase)
    # 调用unittest下的testsuit的方法获取套件并将打包好的用例添加到套件中
    test_suit = unittest.TestSuite(class_testcase)
    return test_suit

if __name__ == "__main__":
    test_runner = unittest.TextTestRunner()
    test_suit = TestCase_to_suit_by_makesuit()
    test_runner.run(test_suit)

unittest.defaultTestLoader.discover

__author__ = 'Administrator'
import unittest

def TestCase_to_suit_by_discover():
    # 确定用例存放的路径
    testcase_path = "D:\\zhaojia\\selenium\\selenium_105\\selenium_study\\selenium_day4\\testcase\\"
    # 调用unittest下的defaultTestLoader方法下的discover方法,来获取测试用例并添加到测试套件中
    test_suit = unittest.defaultTestLoader.discover(testcase_path,pattern="*.py")
    return test_suit

if __name__=="__main__":
    test_runner = unittest.TextTestRunner()
    test_suit = TestCase_to_suit_by_discover()
    test_runner.run(test_suit)
__author__ = 'Administrator'
import sys
sys.path.append("D:\\zhaojia\\selenium\\selenium_105\\selenium_study")

import HTMLTestRunner                                   #网上有很多HTMLTestRunner包,都是自己写的,风格不同
from selenium_day4.testsuit.discover import TestCase_to_suit_by_discover
from selenium_day3.shijianchuo.def_shijianchuo import shijianchuo
# 确定测试报告存放的路径、名字、格式
HTMLfile = "D:\\zhaojia\\selenium\\selenium_105\\selenium_study\\report\\HTMLreport" + shijianchuo() + ".html"
# 打开文件并准备写入
htmlreport_file = open(HTMLfile,"wb") # wb表示二进制的方式打开并写入
# 获取测试套件,获取执行的用例
test_suit = TestCase_to_suit_by_discover()
# 实例化HTMLTestRunner下的HTMLTestRunner对象,需要配置参数,写清楚报告的标题、描述内容
htmlrunner = HTMLTestRunner.HTMLTestRunner(stream=htmlreport_file,title="OA测试报告",description="共计8条用例,执行结果如下:")
# 使用runner的对象来调用run的方法,执行测试套件
htmlrunner.run(test_suit)
# 关闭文件
htmlreport_file.close()
发布了17 篇原创文章 · 获赞 1 · 访问量 819

猜你喜欢

转载自blog.csdn.net/weixin_45433031/article/details/104542455