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。
2. 安装pip
1) cd索引到easy_install.exe所在的地方,执行指令“easy_install.exe pip”。一般在目录D:\ProgramFiles\Python27\Scripts下面。
2)安装完成之后,Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe。 查看是否安装成功,cmd下如图说明能识别pip命令。
将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,如下图
3)添加webDriver的路径到环境变量
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)
上一篇: 生成php程序的php代码
下一篇: Kotlin笔记1-变量和流程控制
推荐阅读
-
netbeans-求解决!用Netbeans搭建Zend框架时出错
-
php5+php-frm+libevent+memcached为何这种环境能解析.php,该如何处理
-
请问下类似扣钉冒泡 coding.net/pp 这样的社区模块是如何搭建的呢?
-
Ubuntu上搭建hadoop 2.2.0环境,配置yarn(单机)
-
小弟我想在linux上练习php程序,环境配置,用哪个操作系统好尼
-
搭建PHP官方框架zend framework 2(LINUX),zendframework_PHP教程
-
如何配置PHP环境和安装Zendstdio编辑器
-
Data Guard环境下Temp表空间和Temp文件管理概述
-
项目OA之框架搭建整合基于SSH,Jquery,MySQL
-
amoeba搭建mysql集群时数据更新时出现这个错误