0


Web自动化测试:selenium的使用以及关于driver=webdriver.Firefox()无驱动报错问题

Selenium

1.什么是Selenium?

Selenium是一个用于Web应用程序测试的工具。
主流的自动化测试工具有:

  • web自动化测试:selenium、robot framework
  • App端自动化测试:Appium、Monkeyrunner、UIautomation
  • PC客户端(win32)自动化测试:QTP
  • 接口自动化测试:Jmeter、Postman、httpUnit、RESTClient
  • 云测平台:Testin Testbird
  • 性能测试:Jmeter、LoadRunner

2.Selenium的特点

1.开源软件:源代码开放可以根据需要来增加工具的某些功能
2. 跨平台:linux 、windows 、mac
3. 核心功能:就是可以在多个浏览器上进行自动化测试
4. 多语言:Java、Python、C#、JavaScript、Ruby等
5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

Webdriver

1.什么是Webdriver?

Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具;
它提供了一套友好的API;
Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动;
说明:API:应用编程接口说明(WebDriver类库内封装非常多的方法,要使用这些方法,就需要友好的调用命名规则)

2.WebdriverAPI支持的浏览器

  1. Firefox (FirefoxDriver)【推荐】
  2. IE(InternetExplorerDriver)
  3. Opera(OperaDriver)
  4. Chrome (ChromeDriver)
  5. safari(SafariDriver)
  6. HtmlUnit (HtmlUnit Driver) 提示: Firefox、Chrome:对元素定位和操作有良好的支持,同时对JavaScript支持也非常好。 IE:只能在windows平台运行,所有浏览器中运行速度最慢 HtmlUnit:无GUI(界面)运行,运行速度最快;

推荐原因:

  1. Selenium IDE
  2. FireBug
  3. 对WebDriver API支持良好

环境搭建

基于Python的环境搭建

  1. Windows系统
  2. Python 3.5(以上版本)
  3. 安装selenium包
  4. 浏览器
  5. 安装PyCharm

selenium安装、卸载、查看命令

安装:

pip install selenium==2.48.0

1). pip:通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
2). install: 安装命令
3). selenium==2.48.0: 指定安装selenium2.48.0版本(如果不指定版本默认为最新版本)
卸载:

pip uninstall selenium

查看:

pip show selenium

火狐浏览器

  1. FireFox 48以上版本 Selenium 3.X +FireFox驱动——geckodriver.exe
  2. Firefox 48 以下版本 Selenium2.X 内置驱动

Webdriver-元素定位

Webdriver元素定位方式

  1. id
  2. name
  3. class_name
  4. tag_name
  5. link_text
  6. partial_link_text
  7. Xpath
  8. Css

汇总:
1). id、name、class_name:为元素属性定位
2). tag_name:为元素标签名称
3). link_text、partial_link_text:为超链接定位(a标签)
4). Xpath:为元素路径定位
5). Css:为CSS选择器定位

案例

以id定位实现作为案例:

案例需求:
打开注册A.html页面,使用id定位,自动填写(账号A:admin、密码A:123456)

实现步骤:

  1. 导入selenium包 --> from selenium import webdriver
  2. 导入time包 --> from time import sleep
  3. 实例化火狐浏览器 --> driver=webdriver.Firefox()
  4. 打开注册A.html --> driver.get(url)
  5. 调用id定位方法 --> driver.find_element_by_id(“”)
  6. 使用send_keys()方法发送数据 --> .send_keys(“admin”)
  7. 暂停3秒 --> sleep(3)
  8. 关闭浏览器 --> quit()

代码实现:

from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
url='E:\\测试\\课件\\Web自动化\\Web自动化课件\\02img\\注册A.html'#需要自动化测试的网页的路径
driver.get(url)#找到id为userA的账号输入框input
user=driver.find_element_by_id("userA")#自动填写admin
user.send_keys("admin")
pwd=driver.find_element_by_id("passwordA")
pwd.send_keys("123456")
sleep(3)
driver.quit()

其他定位方式类似,略。

实验效果:
在这里插入图片描述

关于driver=webdriver.Firefox()无驱动报错问题

如果我们在上述执行过程中出现类似于提示

driver=webdriver.Firefox()

报错的问题,很有可能是我们没有配置好FireFox的浏览器驱动在我们的Python环境中。
解决方法是:
①下载geckodriver.exe
在这里插入图片描述
②将该驱动放置在当前我们的python环境
例如我的python项目是这样的:
在这里插入图片描述
那么我就把geckodriver.exe放在该目录下即可:
在这里插入图片描述

标签: 前端 selenium firefox

本文转载自: https://blog.csdn.net/qq_51580006/article/details/130606312
版权归原作者 so.far_away 所有, 如有侵权,请联系我们删除。

“Web自动化测试:selenium的使用以及关于driver=webdriver.Firefox()无驱动报错问题”的评论:

还没有评论