只打开一次浏览器,生成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中 ...
随机推荐
- iframe 和 父窗口传递
iframe 向父窗口 window.parent.postMessage('向父窗口传递值',*); 父窗口向 iframe 内部子窗口传值 documnet.querySelector('ifra ...
- Android activity 周期图和fragment周期图
与Activity生命周期的对比 Fragment的生命周 onCreateView():每次创建.绘制该Fragment的View组件时回调该方法,Fragment将会显示该方法返回的View组件. ...
- UIBezierPath使用
效果图,Demo的例子是我自己做的,下面曲线的代码是从别处copy过来的 copy地址 -(void)touchesBegan:(NSSet<UITouch *> *)touches wi ...
- 运维自动化ansible基础
云计算三种服务架构 IAAS: 不提供OS 只购买硬件(网络,存储,计算) PAAS: 提供硬件和OS和开发和运行环境 只需要开发应用软件 SAAS: 提供 硬件 os 软件 相当于直接购买软 ...
- react img 被自动转成base64,无法根据当前路径来动态改变值的解决办法
项目需求,需要根据当前的图片的路径值的来(加或者减)动态改变其值: state定义如下: this.state={ basket01:0+require("../../img/egg/egg ...
- 为python.exe或者ipython.exe添加环境变量
在pycharm下可以把Module包添加到interpreter paths,从而实现import Module. 而若直接使用ipython,或者python.exe时,它们的环境变量并没有包含M ...
- GitHub账户注册
GitHub是一个优秀的面向开源及私有软件项目的托管平台,值得我们使用,但因为其不同于我们常见的很多平台,所以刚开始使用时,我们会遇到很多的问题.特此记录下博主自己使用GitHub的过程供自己以后查看 ...
- javaBean转为json
一个测试用例 javabean转json @Test @Rollback(false) public void policyQueryTest() throws Exception { // 查询数据 ...
- map的使用方式之一。
map有返回值 foreach 没得.. 得到结果 可以把里面的值以数组的方式取出来: 举例:
- jenkins 常见问题汇总
1.jenkins api调用 https://my.oschina.net/sanpeterguo/blog/197931 其中,有个错误的地方,带参数构建时,使用的时POST方法,如下: curl ...