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放在该目录下即可:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

so.far_away

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值