目录
一、Selenium简介
1、Selenium工具组件介绍
2、Selenium WebDriver 介绍及实现原理
二、Selenium WebDriver基于Python实现脚本
1、Selenium 环境安装
2、Selenium 操控浏览器的常用操作
3、编写一个简单的Selenium脚本
三、自动化测试框架 及 架构设计 的选择
1、基于Python语言比较流行的测试框架
2、PO设计模式
一、Selenium简介
Selenium 是一款基于Web应用程序自动化测试的工具集合,Selenium 测试直接运行在浏览器中,本质是通过驱动浏览器,模拟用户的操作。工具的主要功能包括:测试与浏览器的兼容性,进行系统功能测试。
1、Selenium工具组件介绍
2、Selenium WebDriver 介绍及实现原理
Selenium WebDriver 是业界通用的测试框架,不仅是web测试的标准,同时在移动测试领域也是底层的核心驱动框架
-
特点:
-
1、支持多浏览器操作:Chrome、IE、Firefox、Safaria等
-
2、支持夸平台:Windows、Linux、Mac等
-
3、支持多语言:Python、Java、Ruby、C#等
-
Selenium脚本执行时后端实现的流程:
-
1.对于每一条Selenium脚本指令,都会创建一个HTTP请求并且发送给浏览器的驱动
-
2.WebDriver启动浏览器驱动程序,建立HTTP Server,用来接收这些http请求
-
3.HTTP Server接收到请求后根据请求来具体操控对应的浏览器
-
4.浏览器执行具体的测试步骤,将步骤执行结果返回给HTTP Server
-
5.HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息
二、Selenium WebDriver基于Python实现脚本
1、Selenium 环境安装
2、Selenium 操控浏览器的常用操作
-
元素八大定位方式
-
id定位:find_element_by_id()
-
name定位:find_element_by_name()
-
class定位:find_element_by_class_name()
-
link定位:find_element_by_link_text()
-
partial link定位:find_element_by_partial_link_text()
-
tag定位:find_element_by_tag_name()
-
xpath定位:find_element_by_xpath()
-
css定位:find_element_by_css_selector()
-
三种切换方式
-
窗口切换,窗口句柄
-
获取窗口句柄:windowhandles[-1]
-
switch_to_window()
-
iframe切换
-
弹窗切换 toast
-
系统交互上传
-
Win:pywinauto
-
跨平台:pyautogui
3、编写一个简单的Selenium脚本
from selenium import webdriver
# 启动谷歌浏览器
driver = webdriver.Chrome(executable_path=r"/Users/bytedance/Desktop/chromedriver")
# 设置隐性等待
driver.implicitly_wait(5)
# 打开网页CSDN
driver.get("https://www.csdn.net/?spm=1001.2101.3001.4476")
# 定位"输入框"
input_box = driver.find_element("xpath",'//*[@id="toolbar-search-input"]')
# 输入文本:"Selenium自动化测试框架"
input_box.send_keys("Selenium自动化测试框架")
# 定位"搜索"功能并且点击
driver.find_element("xpath",'//*[@id="toolbar-search-button"]/span').click()
# 关闭浏览器
driver.quit()
三、自动化测试框架 及 架构设计 的选择
1、基于Python语言比较流行的测试框架
公共方法的封装及对脚本及配置文件怎么组织的设计就叫做框架。
2、PO设计模式
对于一个优秀的框架,不可或缺的当属是分层思想,而在Web UI自动化测试中,PO模式(Page Object)是十分主流的一项技术;PO设计模式提供了一种页面元素定位和业务操作流程分离的模式。当页面元素发生变化时,只需要维护对应的page层修改定位,不需要修改业务逻辑代码。