web测试应用实战

本文通过实例演示如何使用Selenium进行自动化测试,包括设置测试环境、编写测试脚本以搜索特定关键词并验证结果,以及点击链接打开课程页面。此外,还介绍了如何利用HTMLTestRunner和BSTestRunner生成美观的测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

from selenium import webdriver
from time import sleep
import unittest
class 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 unittest
from HTMLTestRunner import HTMLTestRunner
import 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 unittest
from BSTestRunner import BSTestRunner
import 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值