自动化测试工具selenium
自动化测试
自动化测试是指软件测试的自动化,再预设的状态下运行应用程序或者系统,预设条件下包括正常和异常,最后评估运行结果,将认为驱动的测试行为转化为机器执行的过程。
- 常见的自动化测试工具有:QTP、selenium、Rational Robot、jmeter、appium、Loadrunner等等。
我们经常使用selenium工具帮助我们完成自动测试,相比起其他工具,它有着不少的优势。这篇博客总结了selenium工具使用相关的一些知识,一起来看看吧~
selenium工具
特点
- 是一款轻量级、免费的工具;
- 它支持多平台:Windows、Mac、Linux;
- 它支持多浏览器:Chorme、IE edge、Firefox;
- 支持分布式测试用例的执行,可以将测试用例分布到不同的测试机器中执行;
- 支持多语言,这对于测试人员是非常有利的,不论更加熟悉什么语言,都可以通过selenium来进行实现。
版本
- selenium1.0:selenium IDE,selenium RC,selenium grid;
- selenium2.0:Webdriver;
- selenium3.0:增加了一些浏览器的原生驱动,Firefox edge;
我们使用selenium工具一般会进行录制脚本或者自己去编写需要的脚本让它完成自动化的测试
Webdriver常用的API
这里我们先来了解一下脚本到底长什么样子:
from selenium import webdriver
import time
browser = webdriver.Firefox()
time.sleep(3)
broswer.get("http://www.baidu.com")
time.sleep(3)
broswer.find_element_by_id("kw").send_keys("selenium")
time.sleep(3)
broswer.find_element_by_id("su").click()
broswer.quit()
- 首先,如果想要使用selenium的webdriver里的函数,需要先将包导入
from selenium import webdriver
- 指定需要操控的浏览器
browser = webdriver.Firefox()
- 进行定位
broswer.find_element_by_id(“kw”).send_keys(“selenium”)
- 我们在进行搜索时输入要搜索的内容紧接着就要点击按钮才能完成查询跳转到查询的界面
broswer.find_element_by_id(“su”).click()
- 关闭
broswer.quit() //退出并关闭窗口的每一个相关的驱动程序
broswer.close() //关闭当前窗口
quit不仅可以关闭窗口,还可以更好的释放资源
元素的定位
在我们进行自动化测试时,对象的定位是我们操作的核心,因为我们要想识别一个对象,就应该识别该对象。我们可以通过对象的属性找到该对象。
注意:不论我们采用哪种方式进行元素的定位,都必须保证属性是存在且唯一的。
我们常用的方法有:
- id
- name
- class name
- link text
- partial link text
- targe name
- xpath
- css selector

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
#最大化浏览器
driver.maximize_window()
time.sleep(6)
#1 用id来进行定位
driver.find_element_by_id("kw").send_keys("张杰")
driver.find_element_by_id("su").click()
#2 用name来进行定位
driver.find_element_by_name("wd").send_keys(u"张杰")
driver.find_element_by_id("su").click()
#3 用 class name来进行定位
driver.find_element_by_class_name("bg s_ipt_wr quickdelete-wrap").send_keys("张杰")
driver.find_element_by_class_name("bg s_btn btn_h btnhover").click()
#4 用tag name 来进行定位(input 太多了不能定位到)
driver.find_element_by_tag_name("input").send_keys("张杰")
driver
本文介绍了自动化测试工具Selenium的特点、版本及其WebDriver常用API,包括元素定位、操作测试对象、等待策略、浏览器控制、键盘和鼠标事件等,为软件测试提供详细指导。
最低0.47元/天 解锁文章

1328

被折叠的 条评论
为什么被折叠?



