一、Web自动化测试工具
1. 主流的Web自动化测试工具
1)QTP:是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。
2)Selenium:是一个开源的web自动化测试工具,免费,主要做功能测试。
3)Robot framework:一个基于Python可扩展地关键字驱动的测试自动化框架。
2. 什么是Selenium?
Selenium是一个用于Web应用程序的自动化测试工具;中文的意思(硒)
Selenium是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。
Selenium主要包括三部分:
· Selenium IDE:浏览器的一个插件(扩展),它可以进行录制回放,并且可以把录制的操作以多种语言(如JAVA、Python、C#等)的形式导出成测试用例。
· Selenium WebDriver: 提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。不同的浏览器需要不同的WebDriver。
· Selenium Grid: 提供了在不同机器的不同浏览器上运行selenium测试的能力。(分布式测试)
这里的框架主要使用Python结合Selenium WebDriver库进行搭建的。通常,一个典型的自动化测试框架一般包括用例管理模板、自动化执行控制器、报表生成模块、日志模块和邮件发送模块等。
3.Selenium特点
1)开源软件:源代码开放可以根据需要来增加工具的某些功能
2)跨平台:linux、windows、mac
3)支持多种浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等
4)支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
5)成熟稳定:目前已经被google、百度、腾讯等公司广泛使用
6)功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
二、Python3+Selenium3+Firefox自动化测试环境搭建
1. Python 开发环境
2. PyCharm编辑器
3. selenium包
4. 浏览器
5. 浏览器驱动 -- 保证能够用程序驱动浏览器,实现自动化测试
6. Selenium IDE浏览器插件
1. Python 开发环境:安装Python解释器
Python是一种面向对象的、解释性的、跨平台的而高级程序设计语言,可以用于自动化测试,一方面、Python易学,模块多,类库丰富,有独立的单元测试框架;另一方面,目前很多的自动化测试框架基本都是支持Python的。
Python的下载与安装:
1)登录Python官网的下载页面Download Python | Python.org,根据自己的操作系统选择下载合适的平台及版本。
2)双击下载的文件进入安装界面、安装完成后关闭安装向导程序。
(1)双击下载好的安装包“python-3.8.10-amd64.exe”
(2)勾选添加到环境中,并选择自定义安装
(3)点击“Next”进入下一步
(4)修改安装路径,并点击“Install”开始安装
(5)点击“Close”完成安装
3)配置Python的环境变量。将Python的安装路径及路径下的script目录添加到path环境变量。
4)验证,进入Python环境。打开命令行窗口输入“python”后回车,如果能看到Python的版本信息,如果可以进入解释器,说明安装成功。退出:exit()。
2. PyCharm编辑器的下载和安装
1)进入PyCharm IDE官网下载页面https://www.jetbrains.com/pycharm/download选择下载Community版本(社区版)
2)双击下载好的安装包,一路“Next”即可完成安装,可以修改默认安装路径。
3.安装selenium包
1)使用命令行工具安装:PIP工具
pip是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。安装:pip install selenium;卸载:pip uninstall selenium;查看:pip show selenium。
首先打开cmd,直接输入pip install
你想要安装的第三方库
pip install selenium==3.13
注意: selenium目前已经更新到selenium4版本,该版本语法与selenium3有一定区别。为了方便后续学习请下载selenium3版本库。(下载pip进入网站:https://pypi.org/project/pip/)
关于pip的一些更新、卸载的方法:
(1)pip 自身的升级:py -m pip install --upgrade pip
(2)pip安装/卸载/升级:
pip install 包名 #安装
pip uninstall 包名 #卸载
pip install --upgrade 包名 #升级
(3)pip查看已安装的包:pip list
(4)pip检查哪些包需要更新:pip list --outdated
(5)pip查看某个包的详细信息:pip show 包名
(6)pip安装指定版本的包:pip install 包名==版本号
例如:pip install numpy==1.20.3 pip install 'matplotlib>3.4'
pip install 'matplotlib>3.4.0,<3.4.3' #可通过使用==, >=, <=, >, <来指定版本号
2)使用Pycharm中的命令行下载selenium库下载
左下角有一个块状图标-“terminal”。 进入了命令行,左上的加号是新开一个命令行,右上的减号是退出命令行。
3)使用Pycharm中setting进行下载:在setting中下载时注意选择特定版本下载
打开File-Settings-Project-Python Interpreter-+(下方加号。)
4.浏览器(设置-常规-关闭自动更新)
5.浏览器驱动(与浏览器版本匹配)
1)下载浏览器驱动程序
不同浏览器都有自己独立驱动程序
不同的浏览器版本需要下载匹配其版本的驱动程序
驱动下载地址
谷歌:http://npm.taobao.org/mirrors/chromedriver/
火狐:https://github.com/mozilla/geckodriver/releases
Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
2)配置驱动文件环境变量
把驱动文件所在目录添加到Path环境变量中
或者直接放到Python安装目录,因为Python已添加到Path中
Selenium官网:https:// www.selenium.dev/
三、Python+Selenium3+Firefox自动化测试案例
1. 入门示例
2.1 需求
通过程序启动浏览器,并打开百度首页,输入“Python”,暂停3秒,确认搜索,关闭浏览器
2.2 实现步骤
1. 导包:from selenium import webdriver
2. 创建浏览器驱动对象
Firefox浏览器:driver = webdriver.Firefox()
Chrome浏览器:driver = webdriver.Chrome()
Edge浏览器:driver = webdriver.Edge()
3. 打开Web页面:driver.get("http://www.baidu.com/")
4. 暂停:time.sleep(3)
5. 关闭驱动对象:driver.quit()
2.3 示例代码
1. # 导包 2. 3. from selenium import webdriver 4. 5. import time 6. 7. # 创建浏览器驱动对象 8. 9. driver = webdriver.Firefox() 10. 11. # driver = webdriver.Chrome() 12. 13. # driver = webdriver.Edge() 14. 15. # 加载web页面 16. 17. driver.get("http://www.baidu.com/") 18. 19. #输入Python 20. 21. driver.find_element (by.id, “kw”).send_keys(“Python”) 22. 23. # 暂停3秒 24. 25. time.sleep(3) 26. 27. # 确认搜索Python 28. 29. driver.find_element(by.id, “su”).click() 30. 31. # 关闭驱动对象 32. 33. driver.quit()