web端自动化测试之Selenium

本文介绍了自动化测试的概念,强调了其在节省时间、避免人为错误、存储测试信息和提高测试覆盖率等方面的优势。重点关注web自动化测试,阐述了适用条件、自动化工具如Selenium的使用,以及元素定位的8种方法,包括id、name、class name等,并通过实例说明了如何使用css选择器进行元素定位。
摘要由CSDN通过智能技术生成
1.什么是自动化测试

通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试。

2.为什么进行自动化测试
  • 缩短测试周期
    计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度
  • 避免人为出错
    测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误
  • 测试信息存储
    自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便
  • 轻易获取覆盖率
    自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作
  • 其他
    自动化测试可以是实现自动或者定时执行
3.web自动化条件和使用范围
  • 使用自动化的前提条件
    手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
    项目周期长,重复性的工作都交给机器去实现
    需求稳定,项目变动不大
    自动化测试脚本复杂度比较低
    可重复利用
  • 使用自动化测试的场景
    频繁的回归测试
    冒烟测试
    互联网迭代频繁
    传统行业需求变化不大,应用频繁
    性能测试
4.web自动化常用的工具
  • QTP(收费) 
    QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具
  • Selenium(开源)
    ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试
    在这里插入图片描述
5.元素定位(8种)

注意:不管用那种方式,必须保证页面上该属性的唯一性
webdriver 提供了一系列的对象定位方法,常用的有以下几种

  • id
  • name
  • class name
  • link text
  • partial link text
  • tag name
  • xpath
  • css selector

例1:以id方式定位百度输入框

# conding = utf-8
from selenium import webdriver
import time
browser = webdriver.Firefox()
browser.get("https://www.baidu.com/")
time.sleep(3)
browser.find_element_by_xpath("//*[@id='kw']").send_keys("Java")
time.sleep(3)
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()

close方法关闭当前的浏览器窗口,quit方法不仅关闭窗口,还会彻底的退出webdriver,释放与driver server之间的连接。所以简单来说quit是更加彻底的close,quit会更好的释放资源

例2:以xpath方式定位百度输入框
首先了解xpath:XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言
XML与HTML
在这里插入图片描述
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似:
在这里插入图片描述

# conding = utf-8
from selenium import webdriver
import time
browser = webdriver.Firefox()
browser.get("https://www.baidu.com/")
time.sleep(3)
browser.find_element_by_xpath("//*[@id='kw']").send_keys("Java")
time.sleep(3)
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()
6.css选择器

6.1 什么是css选择器?
CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。
6.2 css选择器语法
测试站点: http://www.baidu.com

  • 通过伪类名、id、标签名定位
    在这里插入图片描述
  • 通过元素之前嵌套关系
    在这里插入图片描述
  • 通过属性
    在这里插入图片描述
    在这里插入图片描述
  • 通过父子关系
    在这里插入图片描述
  • 元素状态
    在这里插入图片描述
    例3:以css选择器方式定位百度输入框
# conding = utf-8
from selenium import webdriver
import time
browser = webdriver.Firefox()
browser.get("https://www.baidu.com/")
time.sleep(3)
browser.find_element_by_css_selector("#kw").send_keys("Java")
time.sleep(3)
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值