html5网站抓取,wordpress和,网页设计与制作步骤教程,西安手机网站定制网站建设【没有所谓的运气#x1f36c;#xff0c;只有绝对的努力✊】 目录
1、什么是自动化
1.1 概念#xff1a;
1.2 优点#xff1a;
2、什么是自动化测试
2.1 自动化测试能解决什么问题#xff1f;
2.1.1 优点#xff1a;
2.1.2 误区#xff1a;
2.2 自动化测试分类… 【没有所谓的运气只有绝对的努力✊】 目录
1、什么是自动化
1.1 概念
1.2 优点
2、什么是自动化测试
2.1 自动化测试能解决什么问题
2.1.1 优点
2.1.2 误区
2.2 自动化测试分类
3、web自动化测试
3.1 什么web项目适合做自动化测试
3.2 【面试题】web自动化测试在什么阶段开始
3.3 web自动化测试所属分类
3.4 主流的web自动化测试工具
4、Selenium
4.1 什么是Selenium呢
4.2 Selenium 特点
4.3 Selenium发展史
4.4 Selenium 安装和卸载
4.4.1 环境搭建
4.4.2 安装Selenium包
4.4.3 浏览器安装驱动
【火狐浏览器】
【谷歌浏览器】
4.4.4 安装查看此文章
4.4.5 案例
5、Selenium4源码解析
6、元素定位方式8种
6.1 By.ID
6.2 By.CLASS_NAME
6.3 By.TAG_NAME
6.4 By.NAME
6.5 LINK_TEXT 和 PARTIAL_LINK_TEXT
6.6 CSS_SELECTOR推荐速度快查找效率高
6.6.2 黑马
6.7 XPATH
6.7.1 XPath定位策略方式
1路径——定位2利用元素属性——定位3属性与逻辑结合——定位4层级与属性结合——定位
7、不同元素定位实战
7.1 radio 单选框
7.2 chechbox 1、什么是自动化
1.1 概念 由机器设备代替人工自动完成指定目标的过程。
1.2 优点 1减少人工劳动力。 2提高工作效率。 3产品规格统一标准。 4规模化批量生产
2、什么是自动化测试
软件测试校验系统是否满足规定的需求、弄清预期结果与实际结果之间的差别。
概念让程序代替人工去验证系统功能的过程。
自动化测试包括很多web自动化等。
2.1 自动化测试能解决什么问题
解决——回归测试解决——压力测试解决——兼容性测试提高测试效率保证产品质量。
2.1.1 优点
较少的时间内运行更多的测试用例。自动化脚本可重复运行减少人为的错误。克服手工测试的局限性。
2.1.2 误区
自动化测试可以完全替代手工测试。❌自动化测试一定比手工测试厉害。❌自动化测试可以发掘更多的bug。❌自动化测试适用所有功能。❌
2.2 自动化测试分类
web——自动化测试selenium移动——自动化测试接口——自动化测试基于工具、基于代码单元测试——自动化测试。
3、web自动化测试
概念让程序代替人工自动验证web项目功能的过程。
3.1 什么web项目适合做自动化测试
需求变动不频繁。项目周期长。项目需要回归测试。
3.2 【面试题】web自动化测试在什么阶段开始
答功能测试完毕手工测试
3.3 web自动化测试所属分类
黑盒测试功能测试白盒测试单元测试灰盒测试接口测试
web自动化测试属于 黑盒测试功能测试。
3.4 主流的web自动化测试工具
1QTP一个商业化的功能测试工具收费、支持web桌面自动化测试。
2Selenium开源的web自动化测试工具免费、主要做功能测试。
3Robot framework是一个基于python可扩展地关键字驱动的测试自动化框架。【2014年官网停止更新】
4、Selenium
4.1 什么是Selenium呢
Selenium是一个用于web应用程序的自动化测试工具。
4.2 Selenium 特点 开源软件源代码开放、可以根据需要来增加工具的某些功能。。跨平台linux、windows、mac支持多种浏览器Firefox、Chrome、IE、Edge、Opera、Safari等。支持多种语言python、java、C#、javascript、Ruby、PHP等。成熟稳定目前已被google、百度、腾讯等公司广泛使用。功能强大能够实现类似商业工具的大部分功能因为开源性可实现定制功能。 4.3 Selenium发展史 4.4 Selenium 安装和卸载
4.4.1 环境搭建
1python开发环境
2安装selenium包
3安装浏览器
4安装浏览器驱动。
4.4.2 安装Selenium包 安装pip install selenium 卸载pip uninstall selenium 4.4.3 浏览器安装驱动
【火狐浏览器】
https://github.com/mozilla/geckodriver/releases 【谷歌浏览器】
https://chromedriver.storage.googleapis.com/index.html
4.4.4 安装查看此文章
mac 上安装Selenium 谷歌浏览器驱动 116.0.5845.x-CSDN博客
4.4.5 案例
import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)需求打开b站输入 软件测试点击搜索按钮driver.get(https://www.bilibili.com)
driver.find_element(By.CLASS_NAME, nav-search-input).send_keys(软件测试)
driver.find_element(By.CLASS_NAME, nav-search-btn).click()time.sleep(3)
driver.quit()5、Selenium4源码解析 6、元素定位方式8种 6.1 By.ID import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)需求打开百度首页输入 Selenium点击搜索按钮# 窗口最大化
driver.maximize_window()driver.get(https://www.baidu.com)
driver.find_element(By.ID, kw).send_keys(Selenium)
driver.find_element(By.ID, su).click()time.sleep(3)
driver.quit()6.2 By.CLASS_NAME
import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)需求打开百度首页输入 Selenium点击搜索按钮# 窗口最大化
driver.maximize_window()driver.get(https://www.bilibili.com/)
driver.find_elements(By.CLASS_NAME, channel-link)[1].click()for ele in driver.find_elements(By.CLASS_NAME, channel-link):print(ele.text)time.sleep(3)
driver.quit()6.3 By.TAG_NAME
如果页面从存在多个tag_name 只返回第一个元素。只适用于 a标签
import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)需求打开百度首页输入 Selenium
# 窗口最大化
driver.maximize_window()driver.get(https://www.bilibili.com/)
driver.find_element(By.TAG_NAME, input).send_keys(学习Selenium)time.sleep(3)
driver.quit()6.4 By.NAME 6.5 LINK_TEXT 和 PARTIAL_LINK_TEXT
LINK_TEXT只能定位a标签定位元素内容必须为 全部匹配。
PARTIAL_LINK_TEXT默认返回符合条件的第一个。
import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)需求打开百度首页输入 Selenium点击搜索按钮# 窗口最大化
driver.maximize_window()driver.get(https://www.baidu.com/)
# driver.find_element(By.LINK_TEXT, 新闻).click()
driver.find_element(By.PARTIAL_LINK_TEXT,新闻).click()time.sleep(3)
driver.quit()6.6 CSS_SELECTOR推荐速度快查找效率高 import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)css selector# 窗口最大化
driver.maximize_window()# 1根据id定位
# driver.get(https://www.baidu.com/)
# driver.find_element(By.CSS_SELECTOR, #kw).send_keys(你好)
# driver.find_element(By.CSS_SELECTOR, #su).click()# 2根据class属性值定位
# driver.get(https://www.bilibili.com)
# driver.find_element(By.CSS_SELECTOR,.nav-search-input).send_keys(2025新年快乐)# 3根据name属性值定位
# driver.get(https://www.baidu.com)
# driver.find_element(By.CSS_SELECTOR,[namewd]).send_keys(软件测试111)# 4根据标签属性定位
# driver.get(https://www.baidu.com)
# driver.find_element(By.CSS_SELECTOR, a[hrefhttps://wenku.baidu.com/?frbdpcindex]).click()# 模糊匹配——包含
# driver.get(https://www.baidu.com)
# driver.find_element(By.CSS_SELECTOR, a[href*wenku.baidu.com]).click()# 模糊匹配——匹配开头
# driver.get(https://www.baidu.com)
# driver.find_element(By.CSS_SELECTOR, a[href^https://wenku.baidu.com]).click()# 模糊匹配——匹配结尾
# driver.get(https://www.baidu.com)
# driver.find_element(By.CSS_SELECTOR, a[href$wenku.baidu.com/?frbdpcindex]).click()# (5)组合定位
# driver.get(https://www.baidu.com)
# driver.find_element(By.CSS_SELECTOR, input.s_ipt).send_keys(今日天气)time.sleep(3)
driver.quit()6.6.2 黑马
1id选择器2class选择器3元素选择器4属性选择器5层级选择器 6.7 XPATH 6.7.1 XPath定位策略方式
1路径——定位2利用元素属性——定位3属性与逻辑结合——定位4层级与属性结合——定位 import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import Byoptions webdriver.ChromeOptions()
service ChromeService(executable_path/usr/local/bin/chromedriver)
driver webdriver.Chrome(options, service)xpath# 窗口最大化
driver.maximize_window()driver.get(https://passport.jd.com/new/login.aspx?ReturnUrlhttp%3A%2F%2Fcart.jd.com%2Fcart.action%3Fnull)# driver.find_element(By.XPATH, //input[idloginname]).send_keys(12345)
# driver.find_element(By.XPATH, //*[text()手机扫码安全登录])
# driver.find_element(By.XPATH, //*[contains(autocomplete,off)])
driver.find_element(By.XPATH, //*[starts-with(href,//about)])time.sleep(3)
driver.quit()7、不同元素定位实战 7.1 radio 单选框 练习地址https://www.iviewui.com/view-ui-plus/component/form/radio from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from time import sleep
from selenium.webdriver.common.by import By# 设置正确的驱动路径
service ChromeService(executable_path/usr/local/bin/chromedriver)
options webdriver.ChromeOptions()
driver webdriver.Chrome(serviceservice, optionsoptions)# 打开一个网站,点击radio
driver.get(https://www.iviewui.com/view-ui-plus/component/form/radio)
# 方法1
# driver.find_element(By.XPATH, //span[text()Apple]).click()
# sleep(1)
# driver.find_element(By.XPATH, //span[text()Android]).click()
# sleep(1)
# driver.find_element(By.XPATH, //span[text()Windows]).click()# 方法2
# driver.find_elements(By.XPATH, //input[classivu-radio-input and typeradio])[1].click()
# sleep(1)
# driver.find_elements(By.XPATH, //input[classivu-radio-input and typeradio])[2].click()
# sleep(1)
# driver.find_elements(By.XPATH, //input[classivu-radio-input and typeradio])[3].click()# 方法3
driver.find_element(By.XPATH, //span[text()Windows]/preceding-sibling::span/input).click()
sleep(1)sleep(3) # 打开页面3秒后再关闭
# 关闭浏览器
driver.quit()
7.2 chechbox
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from time import sleep
from selenium.webdriver.common.by import By# 设置正确的驱动路径
service ChromeService(executable_path/usr/local/bin/chromedriver)
options webdriver.ChromeOptions()
driver webdriver.Chrome(serviceservice, optionsoptions)# 打开一个网站,点击 checkbox
driver.get(https://www.iviewui.com/view-ui-plus/component/form/checkbox)
# 方法1
# driver.find_element(By.XPATH, //span[text()香蕉]).click()
# sleep(1)
# driver.find_element(By.XPATH, //span[text()苹果]).click()
# sleep(1)
# driver.find_element(By.XPATH, //span[text()西瓜]).click()# 方法2
driver.find_element(By.XPATH, //span[text()西瓜]/preceding-sibling::span/input).click()
sleep(1)sleep(3) # 打开页面3秒后再关闭
# 关闭浏览器
driver.quit()