Python中Selenium模块的使用

目录

Selenium的介绍、配置和调用

Selenium的配置

Selenium的调用

Selenium的使用

定位

定位元素的使用

Webdriver模块的使用

控制浏览器操作的一些方法 

鼠标事件

键盘事件

获取断言信息


Selenium的介绍、配置和调用

Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

  • 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。

  • 使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。

  • 使用简单,可使用Java,Python等多种语言编写用例脚本。

Selenium的配置

1、安装 Selenium模块:  pip  install  Selenium

2、下载浏览器驱动,Selenium3.x调用浏览器必须有一个webdriver驱动文件

下载之后,解压到任意目录(路径不要有中文)。

Selenium的调用

from selenium import webdriver

## 如果是chrome浏览器的驱动
driver=webdriver.Chrome("G:\Anaconda3-5.3.0\chromedriver.exe")

##如果是firefox浏览器的驱动
driver=webdriver.Firefox(executable_path="G:\Anaconda3-5.3.0\geckodriver.exe")

Selenium的使用

定位

Selenium提供了8种定位方式

  1. id
  2. name
  3. class name
  4. tag name
  5. link text
  6. partial link text
  7. xpath
  8. css selector

定位元素的使用

定位一个元素 定位多个元素 含义
find_element_by_id find_elements_by_id 通过元素id定位
find_element_by_name find_elements_by_name 通过元素name定位
find_element_by_xpath find_elements_by_xpath 通过xpath表达式定位
find_element_by_link_text find_elements_by_link_tex 通过完整超链接定位
find_element_by_partial_link_text find_elements_by_partial_link_text 通过部分链接定位
find_element_by_tag_name find_elements_by_tag_name 通过标签定位
find_element_by_class_name find_elements_by_class_name 通过类名进行定位
find_elements_by_css_selector find_elements_by_css_selector 通过css选择器进行定位

Webdriver模块的使用

控制浏览器操作的一些方法 

方法 说明
set_window_size() 设置浏览器的大小
back() 控制浏览器后退
forward() 控制浏览器前进
refresh() 刷新当前页面
clear() 清除文本
send_keys (value) 模拟按键输入
click() 单击元素
submit() 用于提交表单
get_attribute(name) 获取元素属性值
is_displayed() 设置该元素是否用户可见
size 返回元素的尺寸
text 获取元素的文本

鼠标事件

在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。

方法 说明
ActionChains(driver) 构造ActionChains对象
context_click() 执行鼠标悬停操作
move_to_element(above) 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element(above) 执行鼠标悬停操作
context_click() 用于模拟鼠标右键操作, 在调用时需要指定元素定位
perform() 执行所有 ActionChains 中存储的行为,可以理解成是对整个操作的提交动作


键盘事件

Selenium中的Key模块为我们提供了模拟键盘按键的方法,那就是send_keys()方法。它不仅可以模拟键盘输入,也可以模拟键盘的操作。

常用的键盘操作如下:

模拟键盘按键 说明
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)

组合键的使用

模拟键盘按键 说明
send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
send_keys(Keys.F1…Fn) 键盘 F1…Fn

获取断言信息

不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为断言。通过我们获取title 、URL和text等信息进行断言。

属性 说明
title 用于获得当前页面的标题
current_url 用户获得当前页面的URL
text 获取搜索条目的文本信息

参考文章:https://blog.csdn.net/weixin_36279318/article/details/79475388

猜你喜欢

转载自blog.csdn.net/qq_36119192/article/details/82958734