Selenium自动化测试工具的简单介绍和使用

Selenium

Selenium
what:进行web网站的自动化测试,提供了操控网页的功能,包括向网页中put和从网页中get
how:提供了库,针对不同语言提供了不同语言的库

一、自动化原理
三部分组成:自动化程序+浏览器驱动器+浏览器

  1. 自动化程序
    使用selenium提供的库,编写的测试脚本(向驱动器发送一些http网络消息)
  2. 浏览器驱动器
    将脚本发送来的消息,转换成浏览器可以理解的请求;将浏览器的响应返回给脚本
  3. 浏览器
    不同浏览器需要安装不同的浏览器驱动器,注意版本号匹配(浏览器胶囊按钮-帮助-关于)
    Selenium自动化测试工具的简单介绍和使用_第1张图片

自动化原理图
Selenium自动化测试工具的简单介绍和使用_第2张图片
二、基本使用
1、安装

  • 安装selenium
    java
    1)在maven中添加selenium依赖
    2)在命令行窗口执行安装命令,安装selenium以及相关依赖mvn clean install
    python
    1)pip install selenium
  • 安装浏览器驱动器
    去官网下载和浏览器版本号一致的driver,(驱动器.exe存放目录后面跑脚本的时候要用)
  • 安装浏览器

2、使用

  • 编写自动化测试程序
    1)创建WebDriver对象webDriver,相当于一个浏览器驱动器的实例
    2)通过webDriver调用接口进行元素的选择和操作
    Selenium自动化测试工具的简单介绍和使用_第3张图片

  • 运行

三、核心功能
1、选择元素

  • By.ID:通过id属性
  • By.CLASS_NAME:通过class属性
  • By.TAG_NAME:通过标签名
  • By.CSS_SELECTOR:通过CSS选择器
  • By.XPATH:通过Xpath(比css方便好用)
CSS Xpath
所有标签 标签名 //标签名
class值为xx的元素 .class属性值 [@class=“属性值”]
id为xx的元素 #id属性值 [@id=“属性值”]
属性aa为xx的元素 [属性名=“属性值”] [@属性名=“属性值”]
A的直接子元素B A>B //A/B
A的后代元素B A空格B //A//B
A后第一个兄弟元素B A+B //A/follwing-sibling::B[1]
A后所有兄弟元素B A~B //A/follwing-sibling::B
A和B元素 A,B A|B
A前面的兄弟元素 //A/preceding-sibling:: *
A的父元素 //A/…
当前元素内找A ./A
以xx开头 [属性名^=“属性值”] [starts-with(@属性名=“属性值”)]
以xx结尾 [属性名$=“属性值”] [ends-with(@属性名=“属性值”)]
包含xx [属性名*=“属性值”] [contains(@属性名=“属性值”)]
前两个A元素 //A[postion()>=2]
后两个A元素 //A[postion()>=last()-1]
第两个A元素 A:nth-of-type(2) //A[2]

2、操作元素(e)

  • 清除e.clean()
  • 获取属性e.getAttribute()
  • 获取元素文本e.text
  • 获取元素htmle.outerHTML
  • 转换frame驱动器对象.switchTo.frame()
  • 转换窗口驱动器对象.switchTo.windows(jhandle)
  • 双击、移动等,由ActionChains类

教程参见:https://www.byhy.net/tut/auto/selenium/01/

你可能感兴趣的:(测试工具,selenium,自动化)