使用selenium + python 生成测试报告

首先导包:

from selenium import webdriver
import time
import unittest
import HTMLTestRunner

然后写一个类:

把方法写到类里面

class TestBaidu(unittest.TestCase):

    # override metherd  重写了父类方法

    # 打开百度   #初始化
    def setUp(self):
        self.db = webdriver.Chrome()
        self.db.get("http://baidu.com")
        self.db.maximize_window()

    # 百度搜索的操作   测试用例1
    def test_seach(self):
        input = self.db.find_element_by_id("kw")
        # 对输入库的操作
        input.send_keys("纪昀")
        # 定位百度按钮元素
        btn = self.db.find_element_by_id("su")
        # 对按钮进行操作
        btn.click()

    # 百度设置每页展示条数   测试用例2
    def test_baidu_set(self):
        db = self.db
        db.get("http://baidu.com/gaoji/preferences.html")
        RequType = db.find_element_by_name("NR")
        RequTypeOptionAll = RequType.find_elements_by_tag_name("option")
        for values in RequTypeOptionAll:
            print(values.get_attribute("value"))
            print(values.text)
            if "50" in values.text:
                values.click()
                break
        time.sleep(3)
        # 保存设置
        db.find_element_by_xpath("/html/body/form/div/input").click()
        time.sleep(2)
        db.switch_to_alert().accept()

然后main 控制程序执行过程 生成测试报告:

if __name__ == '__main__':
    # 创建测试用例容器
    testlist = unittest.TestSuite()
    # 将用例添加到容器中
    testlist.addTest(TestBaidu("test_seach"))
    # testlist.addTest(类名("函数名"))
    testlist.addTest(TestBaidu("test_baidu_set"))

    # 创建测试报告
    # 创建文件目录
    file = "e:/aaa/baidu.html"
    fle = open(file, "wb")  # 生成测试报告的时候用的是二进制文件wb    rb wb  以进制的方式进行读写文件
    print(fle)
    # 定义测试报告,stream定义报告所写入的内容,title为报告标题,description为报告的说明与描述
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fle,
        title=u'百度搜索测试报告',
        description=u'用例执行情况:')

    # 将测试报告和用例容器关联在一起
    runner.run(testlist)

然后run执行,在E盘aaa目录下就会生成daidu.html:

 

posted @ 2020-12-21 16:26  后羿的百宝箱  阅读(160)  评论(0)    收藏  举报