只打开一次浏览器,生成html测试报告<小紧张中......>
from selenium import webdriver
import unittest
import time class Blog(unittest.TestCase):
"""登录博客园""" # 添加@classmethod装饰器,只打开浏览器一次
@classmethod
def setUpClass(cls):
"""初始化"""
cls.browser = webdriver.Chrome()
cls.url = 'https://passport.cnblogs.com/user/signin'
cls.browser.get(cls.url)
cls.browser.implicitly_wait(30)
cls.browser.maximize_window() def login(self, username, password):
"""登录帐号密码参数化"""
self.browser.find_element_by_id('input1').send_keys(username)
self.browser.find_element_by_id('input2').send_keys(password)
self.browser.find_element_by_id('signin').click()
time.sleep(3) def is_login_sucess(self):
"""判断是否获取登录后账户名称"""
time.sleep(2)
try:
text = self.browser.find_element_by_id('lnk_current_user').text
print(text)
return True
except:
return False def back_out(self):
# 退出返回登录页面
time.sleep(2)
self.browser.find_element_by_xpath('//*[@id="header_user_right"]/a[5]').click()
time.sleep(2)
# alert方法去掉退出弹框
s = self.browser.switch_to_alert()
s.accept()
time.sleep(2)
self.browser.find_element_by_xpath('//*[@id="header_user_left"]/a[1]').click()
time.sleep(2) def clear_box(self):
"""清空输入框"""
self.browser.find_element_by_id('input1').clear()
self.browser.find_element_by_id('input2').clear()
time.sleep(1) def test_01(self):
"""调用login函数登录"""
self.login('uesrname', 'password')
result = self.is_login_sucess()
self.assertTrue(result) def test_02(self):
"""错误的示范"""
self.back_out()
self.clear_box()
self.login('1', '2')
result = self.is_login_sucess()
self.assertTrue(result, msg='失败了呀,没有获取登录后的账户名称呢!') @classmethod
def tearDownClass(cls):
cls.browser.quit() if __name__ == '__main__':
"""生成html报告"""
import HTMLTestRunner
# now = time.s
now = time.strftime('%Y-%m-%d %H-%M-%S')
report_title = '博客园登录自动化测试'
# report_path = r'D:\PythonProject\com\report.html'
report_path = 'D:\\PythonProject\\com\\'+ now + 'report.html'
explain = '博客园登录测试报告' test_suite = unittest.TestSuite()
test_suite.addTest(Blog('test_01'))
test_suite.addTest(Blog('test_02')) with open(report_path, 'wb') as fp:
runner = HTMLTestRunner.HTMLTestRunner(title=report_title, stream=fp, description=explain)
runner.run(test_suite)
fp.close()
只打开一次浏览器,生成html测试报告<小紧张中......>的更多相关文章
- 生成HTML测试报告
HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,可以生成易于使用的HTML测试报告,这个扩展很简单,只有一个HTMLTestRunner.py,下载地址:htt ...
- Python用HTMLTestRunner生成html测试报告
小编的主机:mac 一.引入HTMLTestRunner包 1.下载HTMLTestRunner.py,已上传到网盘,点击下载 2.将HTMLTestRunner.py复制到python安装目录的Li ...
- [疑难杂症]__点击win10屏幕最上方的边界会莫名其妙打开Internet Explorer浏览器,不胜其烦(2次ps:已解决!!!).
关于问题描述: 每次误点到屏幕上边界会莫名打卡Internet Explorer浏览器(一开始开以为是自带的Edge浏览器,后来在查找相关解决方法的时候才发现并不是同一款浏览器) 这个问题存在好久了, ...
- 转 生成 HTMLTestRunner 测试报告
转自:http://www.cnblogs.com/hero-blog/p/4128575.html 04.生成 HTMLTestRunner 测试报告 1.HTMLTestRunner 是 P ...
- Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告2(使用PyCharm )
1.说明 在我前一篇文件(Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE ))中简单的写明了,如何生产测试报告,但是使用IDLE很麻烦, ...
- Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE)
1.说明 自动化测试报告是一个很重要的测试数据,网上看了一下,使用HTMLTestRunner.py生成自动化测试报告使用的比较多,但是呢,小白刚刚入手,不太懂,看了很多博客,终于生成了一个测试报告, ...
- Appium+Python之生成html测试报告
思考:测试用例执行后,如何生成一个直观漂亮的测试报告呢? 分析:1.unittest单元测试框架本身带有一个textTestRunner类,可以生成txt文本格式的测试报告,但是页面不够直观 2.我们 ...
- web自动化多次打开浏览器嫌烦?打开一次浏览器,pytest有个招
最近系统前端组件做了更新,我就把之前做的web自动化的代码做了一些修改,顺便优化了下用例,只保留少量的测试用例了,大头还是在接口自动化上.然后发现关于pytest的还有一个点应该比较常用,这里再介绍一 ...
- Pytest单元测试框架生成HTML测试报告及优化
一.安装插件 要生成html类型的报告,需要使用pytest-html插件,可以在IDE中安装,也可以在命令行中安装.插件安装 的位置涉及到不同项目的使用,这里不再详述,想了解的可自行查询. IDE中 ...
随机推荐
- 使用github的srs代码,搭建 RTMP_Server
1. 搭建RTMP服务器 1> 获取开源代码SRS. git clone https://github.com/ossrs/srs 下载源码后,按照如下文档安装https://github.co ...
- shell 命令 set命令
set命令输出所有的变量,包括全局变量和局部变量: set-o命令显示bash Shell的所有参数配置信息 set -o nounset -u ...
- 预见2019吴晓波年终秀演讲PPT整理
在2018年倒数的第二天12月30日晚上7点在广东珠海横琴拉开帷幕,吴晓波以一场“预见2019”的年终盛典,和大家一起回望即将告别的跌宕一年,细数过去的焦虑和改变,瞭望未来的激越和走向.下面我们一起来 ...
- Laravel项目October安装
October是一个免费,开源,自托管的基于laravel PHP框架CMS平台.在github平台上laravel应用排名第二,可以拿来研究一下.官方介绍:October是一个内容管理系统(CMS) ...
- c#4.0 Task.Factory.StartNew 用法
var t1 = Task.Factory.StartNew<string>(() => { return “1111111”; }); //t1.Wait(); t1.Contin ...
- 微信小程序https发起请求失败的解决方法
https://blog.csdn.net/yuhui123999/article/details/60572888 https://blog.csdn.net/yuhui123999/article ...
- Python重要网址
极客学院视频:http://www.jikexueyuan.com/path/python/ 知乎爬虫:https://www.zhihu.com/collection/129856874?page= ...
- mapper映射文件不发布
mapper映射文件不发布的问题:在pom.xml中配置,指定加载哪些资源 <resources> <resource> <directory>src/main/j ...
- python之进程(池)
获得进程id import osfrom multiprocessing import Process def info(title): print(title) print('模块名:',__nam ...
- cocos2d-x c++ (多种屏幕Android与iOS的适配原理)
1.AppDelegate.cpp 文件中 bool AppDelegate::applicationDidFinishLaunching() { // initialize director aut ...