软件测试:自动化测试工具selenium

本文介绍了自动化测试工具Selenium的特点、版本及其WebDriver常用API,包括元素定位、操作测试对象、等待策略、浏览器控制、键盘和鼠标事件等,为软件测试提供详细指导。
摘要由CSDN通过智能技术生成

自动化测试

  自动化测试是指软件测试的自动化,再预设的状态下运行应用程序或者系统,预设条件下包括正常和异常,最后评估运行结果,将认为驱动的测试行为转化为机器执行的过程。

  • 常见的自动化测试工具有: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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值