欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python+unittest+selenium+HTMLTestRunner环境搭建

程序员文章站 2022-05-28 14:30:10
...

python+unittest+selenium+HTMLTestRunner环境搭建

使用HTMLTestRunner生成图片和html文件

1. 安装python2.7版本
exe文件直接安装。
安装完成之后,添加python路径D:\ProgramFiles\Python27到环境变量中。
检查是否安装成功python -V。
python+unittest+selenium+HTMLTestRunner环境搭建

2. 安装pip
1) cd索引到easy_install.exe所在的地方,执行指令“easy_install.exe pip”。一般在目录D:\ProgramFiles\Python27\Scripts下面。
2)安装完成之后,Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe。 查看是否安装成功,cmd下如图说明能识别pip命令。
python+unittest+selenium+HTMLTestRunner环境搭建
将pip的路径添加到环境变量path中。

3. 使用pip安装selenium
使用命令pip install selenium安装selenium。

4. 下载chrome webDriver
1)下载路径
http://chromedriver.storage.googleapis.com/index.html
2)确定版本号
chromedriver的版本有很多,一定要下载与你电脑上chrome浏览器版本相对应的版本。如何确定的呢?进入版本目录里点击notes.txt,如下图
python+unittest+selenium+HTMLTestRunner环境搭建
3)添加webDriver的路径到环境变量
python+unittest+selenium+HTMLTestRunner环境搭建

5. 脚本编写例子

#!/usr/bin/env python 
# -- coding: utf-8 -- 
# @Time : 2018/8/1 16:58 
# @Author : mjfeng 
# @File : fmjTest.py
# _*_ coding:utf-8 _*_

import unittest
# 这句语句告诉Python,我们想要使用这个模块
import time
from selenium import webdriver
import os
import HTMLTestRunner

import sys
sys.path.append(r"D:\PycharmProjects\FmjTest\Base")
import HttpRequest
# 由于自定义模块和执行文件不在同一个路径下,所以要单独指定使用append。

# 一次性修改程序或系统的默认编码,重新加载sys这个模块。
reload(sys)
# 默认的编码是ascii,设置默认编码时使用utf-8
sys.setdefaultencoding("utf-8")

 # 测试用例
class demoTest(unittest.TestCase):
    u'''这只是一个例子'''
    def setUp(self):
        self.Http = HttpRequest.Http("http://www.baidu.com/")
        # 返回文件路径
        self.data_file = os.path.split(os.path.realpath(__file__))[0]
        self.class_name = self.__class__.__name__
        super(demoTest, self).setUp()

    def test_httpBaidu(self):
        u'''以百度为例作为测试'''
        content = self.Http.Get("http://www.baidu.com/", is_json = False)
        self.assertEqual(content, 200)

    def test_add(self):
        u'''加法的测试'''
        content = 4 + 5
        self.assertEqual(content, 8)


    def test_Ui(self):
        u'''UI的测试,同时生成报告和图片'''
        executable_path = r'C:\Users\fmj\AppData\Local\Google\Chrome\Application\chromedriver.exe'
        driver = webdriver.Chrome(executable_path)
        driver.get("http://www.baidu.com")
        driver.get_screenshot_as_file(path + "login_success.jpg")

        print(driver.title)
        self.assertEqual(driver.title, u'百度一下,你就知道')
        time.sleep(3)
        driver.close()


 # 主函数
if  __name__ == '__main__':
    # 构造测试集
    testSuite = unittest.TestSuite()
    testSuite.addTest(demoTest('test_httpBaidu'))
    testSuite.addTest(demoTest('test_add'))
    testSuite.addTest(demoTest('test_Userinterface'))

    # 定义测试报告的地址
    path = 'D:\\PycharmProjects\\FmjTest\\result\\'
    report_path = path + 'result.html'

    # 如果路径不存在,创建路径
    if not os.path.exists(path):
        os.makedirs(path)
    else:
        pass
    fp = file(report_path, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title= u'网管子系统Http接口测试报告', description='Report_description')

    # 执行测试
    runner.run(testSuite)