自动化测试webdriver常用API总结

本文介绍了WebDriver自动化测试工具,详细总结了selenium的下载及WebDriver的常用API,包括元素定位(如id、name、class name等)、操作测试对象(如click、send_keys等)、浏览器操作和处理各种页面元素,如下拉框、弹窗、文件上传等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言:

1. selenium的简单介绍

2. selnium的下载

3. WebDriver常用API


前言:

WebDriver 是一个自动化测试工具,主要用于模拟浏览器行为,实现自动化测试。下面是一些 WebDriver 常用 API 总结:

1. selenium的简单介绍

  • selenium 是一个强大的开源web功能测试工具系列,支持多平台、多浏览器、多语言去实现自动化测试;

  • 支持多种开发语言:Python、Java、Ruby等

  • 同时selenium测试直接自动化运行在浏览器中,支持的浏览器有:IE、Chrome、Firefox等;

  • selenium2.0的主要新功能是集成了WebDriver,WebDriver通过原生浏览器支持或者浏览器扩张直接控制浏览器。

2. selnium的下载

2.1 Python中的下载

前提:安装好python环境

以管理员的身份运行cmd,输入命令:pip install seelnium

因为我已经安装过了,如果没有安装过的会显示下载进度条,这个速度可能会很慢,建议选择网好的时候下载;

利用 pin show selenium查看是否下载好;

2.2 安装selenium IDE

我用的是Firefox浏览器(其他浏览器步骤一样)

第一步:

第二步:

第三步:

第四步:

安装成功在在浏览器的右上角会有标记:

3. WebDriver常用API

3.1 脚本简单应用的介绍

脚本解析:coding = utf-8 (可加可不加,一般加上防止乱码)
使用selenium的WebDriver里的函数,要先把包导入:from selenium import webdriver
导入使用浏览器的驱动:driver = webdriver.Firefox()
关闭窗口:
 driver.quit():不仅退出窗口,而且关闭整个webdriver,释放连接
 driver.close():关闭当前的浏览器;
所以简单来说quit是更加彻底的close,quit会更好的释放资源

3.2 元素的定位

对象的定位应该是自动化测试的核心,要想操作一个对象,首先要识别这个对象,一个对象就是一个人一样,会有各种的特征(属性),比如我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门派找到这个人。那么一个对象也有类似的属性,我们可以通过和这个属性找到这个对象。
注意:不管用什么方式,必须保证页面上该属性的唯一性。

常用的有以下几种:

  • id

  • name

  • class name

  • link text

  • partial link text

  • tag name

  • xpath

  • css selector

在这里,以百度为例:

(1)在输入框里输入数据后,点击百度一下,这里定位两个元素:输入框、百度一下按钮,(进行右击,点击检查元素)

(2)定位

input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off">
#通过id 方式定位
driver.find_element_by_id("kw").send_keys("selenium")
#通过name 方式定位
driver.find_element_by_name("wd").send_keys("selenium")
#通过CSS 方式定位
driver.find_element_by_css_selector("#kw").send_keys("selenium")
#通过xpath 方式定位
driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")

3.2.1 id和name定位

id 和name 是我们最常用的定位方式,因为大多数控件都有这两个属性,而且在对控件的id 和name 命名时一般使其有意义也
会取不同的名字。通过这两个属性使我们找一个页面上的属性变得相当容易。

通过上面的过程可以去找id和name的元素名称

通过id定位:

from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
 
# 1.通过id定位,kw为百度输入框的id
driver.find_element_by_id("kw").send_keys("张杰")
time.sleep(6)
# 搜索的按钮的id为su,click()表示点一下按钮
driver.find_element_by_id("su").click()
time.sleep(6)
driver.quit()

通过name定位:

from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
# 2.通过name定位
driver.find_element_by_name("wd").send_keys("张杰")
time.sleep(6)
driver.find_element_by_id("su").click()
time.sleep(6)
driver.quit()

3.2.2 tag name 和class name 定位

从上面百度输入框的属性信息中,我们看到,不单单只有id和name两个属性,比如class 和tag name(标签名)
i
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值