博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web测试应用实战
阅读量:6999 次
发布时间:2019-06-27

本文共 2607 字,大约阅读时间需要 8 分钟。

案例:使用百度搜索关键词“selenium 自学网” 并打开课程页面

from selenium import webdriverfrom time import sleepimport unittestclass Test_baidu(unittest.TestCase):    def setUp(self):        self.driver=webdriver.Firefox()        self.driver.implicitly_wait(10)        self.driver.get("https://www.baidu.com")    def test_baidu(self):        driver=self.driver        driver.find_element_by_id("kw").clear()        driver.find_element_by_id("kw").send_keys("selenium 自学网")        driver.find_element_by_id("su").click()        driver.implicitly_wait(5)        title=driver.title        self.assertEqual(title,"selenium 自学网_百度搜索")        driver.find_element_by_partial_link_text("Selenium自动化").click()        sleep(5)    def tearDown(self):        self.driver.quit()if __name__=='__main__':    unittest.main()

测试报告生成

自动化测试执行完成之后,我们需要生成测试报告来查看测试结果,使用HTMLTestRunner模块可直接生成html格式的测试报告

下载地址:

http://tungwaiyip.info/software/HTMLTestRunner.html

下载后的修改:

94行引入名称要改,从import StringIO 改成 import io。

539行self.outputBuffer = StringIO.String()要改成self.outputBuffer = io.StringIO()

631行

print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime) 改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

642行,if not rmap.has_key(cls):换成if not cls in rmap:

 

766行uo = o.decode('latin-1')改成uo=o

772行ue = e.decode('latin-1')改成ue=e

存放路径:

将修改完成的模块存放在Python路径下lib目录里面即可

 

import unittestfrom HTMLTestRunner import HTMLTestRunnerimport time#定义测试用例路径test_dir='./'discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')if __name__=='__main__':    # 存放报告的文件夹    report_dir='./test_report'    # 报告命名时间格式化    now=time.strftime("%Y-%m-%d %H_%M_%S ")    #报告文件完整路径    report_name=report_dir+'/'+now+'result.html'    #打开文件在报告中写入测试结果    with open(report_name,'wb') as f:        runner=HTMLTestRunner(stream=f,title="Test Report",description='Test case result')    # runner=unittest.TextTestRunner()    runner.run(discover)    f.close()

 

 

测试报告美化

下载地址:https://github.com/easonhan007/HTMLTestRunner

下载后也需要和前面的内容一样修改,然后放置到python安装路径的Lib的文件夹里

import unittestfrom BSTestRunner import BSTestRunnerimport time#定义测试用例路径test_dir='./'discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')if __name__=='__main__':    # 存放报告的文件夹    report_dir='./test_report'    # 报告命名时间格式化    now=time.strftime("%Y-%m-%d %H_%M_%S ")    #报告文件完整路径    report_name=report_dir+'/'+now+'result.html'    #打开文件在报告中写入测试结果    with open(report_name,'wb') as f:        runner=BSTestRunner(stream=f,title="Test Report",description='Test case result')        runner.run(discover)    f.close()

 

转载于:https://www.cnblogs.com/xiao-qing/p/7852954.html

你可能感兴趣的文章
【细品架构1/100】架构之缘起
查看>>
在js中获取后台传出的json数据
查看>>
Drools的JSR94实现形式
查看>>
oracle的nvl和nvl2
查看>>
hdfs 写orc
查看>>
1.9 xz压缩和解压缩
查看>>
IDEA如何自动提示并补全syso和main呢?
查看>>
9.数组和向量
查看>>
JXL读写Excel
查看>>
mysql自定义排序
查看>>
java UDP 一对一文件传输
查看>>
Netty5入门学习笔记003-TCP粘包/拆包问题的解决之道(下)
查看>>
SpringMVC之@ResponseBody
查看>>
Ubuntu开机自动挂载Windows分区(NTFS FAT32)教程
查看>>
Oracle学习笔记6
查看>>
Centos7开通端口方法
查看>>
php数据库永久链接其实一般没必要使用,如果网站并发量大,数据库支持的连接数小就会出问题...
查看>>
oracle--架构
查看>>
动态规划的基本方法---多阶段决策过程及实例
查看>>
顺序数据---隐马尔科夫模型
查看>>