- 博客(18)
- 收藏
- 关注
原创 Jenkins-01
10. 点击**"开始使用Jenkins"**,你就进入Jenkins主界面了!2. 在打开的页面中,你会看到**"解锁Jenkins"**界面。- **自定义选项**:手动选择插件(适合有经验的用户)- 要停止Jenkins,在命令行按 **Ctrl + C**建议选择**"安装建议的插件"**,这会安装最常用的插件。- **推荐选项**:安装建议的插件(适合新手)- Jenkins现在运行在**8080端口**- **保存好初始密码**,以防需要重新认证。4. **粘贴密码**并点击"继续"
2025-11-05 15:19:32
273
原创 本地代码上传到Gitee
登录Gitee,在**个人设置**的 **SSH公钥** 页面,将复制的内容粘贴进去并添加。- **注意**:根据你Git版本的不同,初始分支可能是 `main` 而非 `master`。- 填写仓库名称,选择仓库是**公开**还是**私有**。如果没有,则使用HTTPS地址。- **Gitee仓库非空**:如果你在Gitee创建仓库时**勾选了“使用Readme文件初始化”**,那么远程仓库就不是空的。- 登录你的Gitee账号,点击右上角的 **“+”** 号,选择 **“新建仓库”**。
2025-11-04 18:34:31
229
原创 Iframe
**切换到 iframe** | `driver.switch_to.frame("frame_id")` 或 `driver.switch_to.frame(iframe_element)` |你的浏览器窗口是一个**相框**,主网页是**相框里的背景布**。| **在 iframe 内操作** | 正常定位元素,如 `driver.find_element(...).click()` |* **主页面** 和 **iframe 内的页面** 拥有**各自独立、互不干扰的 DOM 树**。
2025-11-03 08:19:26
298
原创 简单了解下接口测试和函数测试
user = validate_user(data['user_id']) # 函数1。product = check_inventory(data['product_id']) # 函数2。接口测试和函数/方法测试有重叠,但不是同一个概念。所以接口测试包含但不等于函数测试,它们是不同层次和不同目的的测试活动。· 接口测试通常比函数测试更接近用户真实使用场景。· 函数测试是代码级别的测试,关注内部实现。· 接口测试是系统级别的测试,关注对外契约。· 测试对象:代码中的具体函数或方法。
2025-11-02 22:23:43
329
原创 Python中.的含义
webdriver - selenium 包下的子包。· common - webdriver 包下的子包。# 从 common 包中导入具体的模块或类。· 目的:组织代码,避免命名冲突,提高可读性。这种结构让代码组织更加清晰,便于管理和维护。· 点操作符:表示包/模块的嵌套关系。· selenium - 顶级包。· 实际对应:文件系统的目录结构。这个点表示包和模块的层级关系。· 从左到右:从外层包到内层包。
2025-11-02 22:08:57
406
原创 from selenium import webdriver
from selenium import webdriver` 是 Selenium Web 自动化测试的**入口点**,它提供了控制真实浏览器的能力,是构建所有 Web 自动化测试脚本的基础。- **`from ... import ...`**:Python 的导入语法,从 selenium 包中导入 webdriver 模块。driver = webdriver.Chrome() # 启动 Chrome 浏览器。- **`webdriver`**:这是 selenium 包中的一个核心模块。
2025-11-02 21:00:19
410
原创 Web自动化测试控件操作的核心思想
4. **常用工具**:最著名的库是 **Selenium**,它支持多种编程语言(Java, Python, C#, JavaScript等)。此外,还有 **Playwright** 和 **Cypress** 等现代工具,它们提供了更强大的功能和更好的稳定性。2. **等待机制**:页面加载需要时间,必须使用**显式等待**来等待元素出现、可点击,而不是使用固定的 `time.sleep`。**最佳实践**:优先使用 **ID** 和 **Name**,因为它们通常最稳定。
2025-11-02 19:40:31
1280
原创 三大等待机制
*推荐:** 主要用**显式等待**,偶尔用隐式等待,尽量不用死等!- ⚠️ **浪费生命**:如果3秒就加载完了,还要傻等7秒。- 💥 **容易翻车**:如果10秒还没加载完,照样报错。- 😅 **不够聪明**:只检查元素存在,不管是否可点击。- 🧠 **最智能**:等待特定条件(可见、可点击等)- ⏱️ **按需等待**:元素出现就继续,不用等满。**就像:** 边等边看,饭一熟马上关火。**隐式** → 全局等元素出现。**显式** → 智能等特定条件成立。**死等** → 傻等固定时间。
2025-11-01 16:14:51
133
原创 简单介绍一下封装
*封装就是把复杂的东西包起来,只给你一个简单的开关或按钮用。- **封装**就是把复杂机械包起来,只给你踏板和方向盘。- **封装**就是把复杂电路包起来,只给你遥控器。**封装 = 把复杂的藏起来,只留下简单的给你用** 🎁。- 但你只需要按遥控器就能换台。- 但你只需要踩油门、转方向盘。发动机状态 = "运行"# 封装后:你只需要简单操作。1. **电视机** 📺。发动机状态 = "启动"**生活中的例子:**2. **汽车** 🚗。**编程中的例子:****最简单解释:****一句话总结:**
2025-11-01 16:11:15
102
原创 Web自动化中的显式等待
与固定时间的硬性等待不同,显式等待只在需要时等待,一旦条件满足就立即继续执行。EC.text_to_be_present_in_element((By.ID, "id"), "期望文本")| **隐式等待** | 全局设置、使用简单 | 不够精确、可能影响性能 | 简单的页面等待 || **显式等待** | 灵活、高效、条件驱动 | 代码稍复杂 | 动态内容、AJAX请求 || **固定等待** | 实现简单 | 效率低、不灵活 | 极少情况下的强制等待 |# 等待结果加载完成(等待结果数量大于0)
2025-11-01 15:26:52
1530
原创 selenium的等待机制
**是什么**:为 WebDriver 设置一个全局的超时时间,用来在**查找元素**时进行轮询。| **显式等待** | **核心等待方式**,用于需要等待特定条件(如可点击、包含文本等)的关键操作 | ★★★★★ (强烈推荐) |* **隐式等待**:我每隔 5 分钟去厨房看一下饭好没,最多看 6 次(共30分钟),好了就吃,没好就算了。* **显式等待**:我站在厨房,**一直盯着**电饭煲,直到它的“保温”灯一亮(条件满足),我马上就盛饭。
2025-10-31 18:20:58
264
原创 相对路径和绝对路径
**网页URL**:在 `https://www.example.com/shop/` 页面里,链接到一个产品页。* **健壮**:即使整个小区的行政地址(绝对路径)变了,只要小区内部的楼宇结构没变,这个相对路径依然有效。* **XPath**:使用 `//` 开头,表示在文档的任意位置查找,不关心上层路径。| **使用场景** | 需要唯一指定时 | **日常使用中的首选** |* **XPath**:从根节点 `/` 开始,完整地写出所有层级。
2025-10-31 15:56:31
399
原创 Selenium中xpath的用法详解
通过将**相对路径**、**属性定位**、**文本定位**、**函数(如 `contains`、`text()`)** 和**层级轴**结合起来,你可以构建出强大而稳健的定位策略,以应对各种复杂的 Web 自动化场景。1. **优先使用其他定位器**:如果元素有稳定的 `id` 或 `name`,优先使用 `By.ID` 或 `By.NAME`,因为它们通常更简单、更快。* **注意**:浏览器生成的 XPath 往往是绝对路径或非常脆弱的相对路径,**仅作为参考**,需要你手动优化。
2025-10-31 15:48:30
424
原创 import time/from selenium import webdriver/from selenium.webdriver.common.by /import Byfrom selenium
导入语句主要用途常用方法/常量时间控制sleep()浏览器控制元素定位By.ID等键盘模拟Keys.ENTERKeys.TAB等这四行导入语句构成了Selenium自动化脚本的基础框架,几乎所有的Selenium程序都会包含这些导入。
2025-10-30 19:24:30
247
原创 Selenium find_element 方法详解
是 Selenium WebDriver 中用于定位单个页面元素的核心方法。下面详细介绍其用法和各种定位策略。
2025-10-30 19:18:26
427
原创 Selenium 与 WebDriver 简介
Selenium + WebDriver 组合提供了一个极其强大的浏览器自动化解决方案,特别适合处理需要JavaScript执行、复杂用户交互或动态内容加载的Web应用场景。:提供 Python、Java、C#、JavaScript、Ruby 等语言的绑定。:支持 Chrome、Firefox、Edge、Safari 等主流浏览器。:支持ID、Class、XPath、CSS选择器等多种定位方式。:虽然模拟真实用户,但仍有被检测的风险。:获取页面标题、URL、元素属性等。:模拟点击、输入、滚动等用户行为。
2025-10-30 17:23:51
1294
空空如也
DSP工程师聘用,坐标深圳,面议面议
2024-06-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅