背景介绍
最近在学习自动化测试,现在需要进行一个UI自动化测试的简单实现,具体要求如下:
使用unittest
针对百度的UI自动化测试,使用selenium
完成最少三个测试类
使用HTMLtestrunner输出测试报告。
selenium要做基本的二次封装。
测试数据用excle进行管理。
针对以上要求,使用selenium+python的方式实现UI自动化测试,同时使用unittest辅助进行测试用例、测试报告的管理。
环境及使用软件信息
python 3
selenium 3.13.0
xlrd 1.1.0
chromedriver
HTMLTestRunner
说明:
selenium/xlrd只需要再python环境下使用pip install 名称即可进行对应的安装。 安装完成后可使用pip list查看自己的安装列表信息。
chromedriver:版本需和自己的chrome浏览器对应, 下载地址:https://chromedriver.storage.googleapis.com/index.html。作用:对chrome浏览器进行驱动。
HTMLTestRunner:HTMLTestRunner是Python标准库的unittest模块的一个扩展。它生成易于使用的HTML测试报告。 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html。下载后放在对应的包中,使用import引入即可使用。
项目结构
项目主要包括一下几个部分:
cases #存放项目用例 -test01.py #测试用例存放
datas #存在测试数据
test.xls #测试数据存放
drivers #存放项目使用到的驱动
chromedriver.exe #chrome浏览器驱动文件
reports #存放生成的测试报告
unitls #存放第三方库
pyselenium.py#对selenium代码的简单封装
readExcel.py#封装xlrd的excel数据的读取
run.py#代码启动入口
代码实现
unitls包
其中,unitls需要进行初始化,否则,在其他模块进行引用时无法找到。在python中定义包的方法是在对应的文件夹下创建一个__init__.py的文件即可。
读取excel数据文件
1 importxlrd2
3
4 #读取excel文件中对应row和cel数据信息
5 defreadExcel(path,row,cel):6 workBook =xlrd.open_workbook(path)7 sheet = workBook.sheet_by_name("Sheet1")8 value =sheet.cell(row,cel).value9 return value
配置对应的浏览器
1 #配置使用的浏览器
2 browers = "Chrome"
对selenium的简单封装
1 from selenium importwebdriver2 from selenium.webdriver.common.action_chains importActionChains3
4 classpyselenium():5 #初始化浏览器驱动
6 def __init__(self, browers="Chrome")