创建你的第一个webdriver python代码

前言

今天我们开始我们的第一个python webdriver自动化测试脚本。并就测试脚本进行一一解释说明。

webdriver python代码

本示例代码演示了使用Ie浏览器访问百度进行搜索测试。 HTMLTestRunner 从这里下载:http://tungwaiyip.info/software/HTMLTestRunner_0_8_2/HTMLTestRunner.py 下载后和当前测试脚本放在同一目录。

# 将以下代码保存到first_webdriver.py中

#-*- coding:utf-8 -*-

__author__ = u'苦叶子'

from selenium import webdriver import unittest import HTMLTestRunner import sys from time import sleep reload(sys) sys.setdefaultencoding("utf-8") class BaiduTest(unittest.TestCase): """百度首页搜索测试用例""" def setUp(self): self.driver = webdriver.Ie() self.driver.implicitly_wait(30) self.base_url = u"http://www.baidu.com" def test_baidu_search(self): driver = self.driver print u"开始[case_0001]百度搜索" driver.get(self.base_url) # 验证标题 self.assertEqual(driver.title, u"百度一下,你就知道") driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys(u"开源优测") driver.find_element_by_id("su").click() sleep(3) # 验证搜索结果标题 self.assertEqual(driver.title, u"开源优测_百度搜索") def tearDown(self): self.driver.quit() if __name__ == '__main__': testunit = unittest.TestSuite() testunit.addTest(BaiduTest('test_baidu_search')) # 定义报告输出路径 htmlPath = u"testReport.html" fp = file(htmlPath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"百度测试", description=u"测试用例结果") runner.run(testunit) fp.close()

代码解释

总体上代码分为五大块

  1. 文件保存编码及作者定义
#-*- coding:utf-8 -*-
__author__ = u'苦叶子'
  1. 导入相关基础模块
# 从selenium中导入webdriver模块
from selenium import webdriver
# 导入unittest模块,作为用例基类
import unittest # 导入html报告生成模块,用于html格式报告生成 import HTMLTestRunner  # 导入sys模块 import sys # 导入sleep模块,用于强制等待 from time import sleep
  1. 设置当前python运行环境为utf8
# 设置当前python运行在utf-8编码下,这样你的中文就不会乱码了
reload(sys)
sys.setdefaultencoding("utf-8")
  1. 定义和实现测试用例
# 从unittest.TestCase继承
class BaiduTest(unittest.TestCase): """百度首页搜索测试用例""" # 用例级初始化函数,自动执行 def setUp(self): # 初始化基于IE浏览器的webdriver实例 self.driver = webdriver.Ie() # 给当前webdriver设置全局隐性等待时间,最大30s self.driver.implicitly_wait(30) # 设置首页url self.base_url = u"http://www.baidu.com" def test_baidu_search(self): # 简单赋值,这样在本测试中后续就不用每次都写self.driver, # 少写几个字符, 都是为了偷懒啊? driver = self.driver # 在控制台打印输出 print u"开始[case_0001]百度搜索" # 启动浏览器,并访问首页 driver.get(self.base_url) # 验证标题 self.assertEqual(driver.title, u"百度一下,你就知道") # 清理搜索输入框中的数据 driver.find_element_by_id("kw").clear() # 在搜索输入框中输入 开源优测 driver.find_element_by_id("kw").send_keys(u"开源优测") # 单击 百度一下 按钮 driver.find_element_by_id("su").click() # 强制等3s sleep(3) # 验证搜索结果标题 self.assertEqual(driver.title, u"开源优测_百度搜索") # 用例级清理函数,自动执行 def tearDown(self): # 退出webdriver,同时关闭当前webdrier session下所有浏览器窗口 self.driver.quit()
  1. 测试脚本主运行入口
# python main函数
if __name__ == '__main__':
    # 初始化一个用例套件集
    testunit = unittest.TestSuite()
    
    # 往用例套件集新增一个测试 testunit.addTest(BaiduTest('test_baidu_search')) # 定义报告输出路径,这里是当前目录 htmlPath = u"testReport.html" # 打开测试报告文件 fp = file(htmlPath, "wb") # 构建一个HTMLTestReport执行器 runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"百度测试", description=u"测试用例结果") # 运行测试集 runner.run(testunit) # 关闭打开的测试报告文件 fp.close()

运行代码

使用以下命令运行上述代码

python first_webdriver.py

可以看到:

  1. 将启动浏览器访问百度首页
  2. 在百度首页搜索框中输入了 开源优测 单击了 百度一下 按钮 显示出搜索结果
  3. 闭关了浏览器
  4. 在当前目录下 生成了testReport.html的测试报告文件

总结

最后总结下,要注意的几个关键点:

  1. 确保要启动的浏览器的驱动已经下载好,具体在哪下载请参见上一章
  2. 确保下载了HTMLTestRunner模块
  3. 最好自己把代码一行行敲入一遍,不要直接拷贝运行

转载于:https://www.cnblogs.com/lym51/p/6632071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值