Selenium 自动化测试实战
郭宏志
享学志成科技创始人兼 CEO
18891 人已学习
新⼈⾸单¥68
课程目录
已完结/共 69 讲
Selenium 自动化测试实战
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 01 | 课程介绍
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 聊聊Web自动化测试:黑盒、白盒、α测试、β测试、冒烟测试、回归测试
04 | Selenium三剑客:WebDriver、IDE、Grid一网打尽
05 | Selenium开发环境搭建
06 | 下载安装浏览器驱动:教你解决最麻烦的版本匹配问题
07 | 第一个Selenium测试:Selenium测试流程、源码分析
08 | 实现元素定位:掌握Selenium八大定位方法
09 | 通过打车生活案例,深入剖析WebDriver运行原理
10 | 掌握WebDriver核心方法和属性的使用
11 | 掌握WebElement核心方法和属性的使用
12 | form表单:熟练掌握form表单操作步骤
13 | 掌握checkbox和radiobutton的定位技巧
14 | 下拉列表:熟练使用Select类,来实现下拉列表定位
15 | 弹框处理:掌握alert、confirm、prompt三种弹出的用法
16 | Selenium三种等待方式:剖析原理、用法和应用场景
17 | Selenium等待条件:掌握17种元素等待条件
18 | 掌握鼠标单击、双击、右击,键盘输入、键盘组合键的应用
19 | 熟练执行JavaScript的方法和技巧,掌握JavaScript操作滚动条
20 | Selenium屏幕截图:实现屏幕截屏、按照日期时间格式保存图片
21 | 掌握frame、iframe定位,熟练frame的切入和切出
22 | 下载安装Selenium IDE:下载安装Chrome、Firefox插件IDE
23 | 熟练Selenium IDE菜单栏、工具类、命令窗口的使用
24 | Selenium IDE实现录制和回放及脚本导出
25 | 项目环境搭建:安装JDK、MySQL、Tomcat和测试系统
26 | 需求分析和用例设计:深度挖掘需求,掌握测试用例设计范式
27 | 项目架构设计:掌握分层设计思想,合理设计目录和包结构
28 | 解决验证码问题-方案一:使用pytesseract和Pillow实现验证码识别
29 | 解决验证码问题-方案二:通过第三方AI库识别验证码
30 | 实现工具类:设计获得验证码、随机字符串生成、cookie操作工具类
31 | 完成用户注册测试用例:解决验证码、等待弹框等复杂内容
32 | 完成用户登录测试用例:实现登录成功和失败测试
33 | 完成管理员登录测试用例:完成验证码正确和错误测试用例
34 | 完成文章分类测试用例:解决测试用例依赖问题
35 | 完成添加、删除文章测试用例
36 | unittest简介:测试用例、测试套件、测试运行器、测试加载器
37 | unittest中的方法:掌握各种setup、teardown和断言方法
38 | 测试用例、测试套件和测试加载器:掌握加载测试用例的四种方法
39 | 使用unittest重构测试用例:掌握使用unittest模块的方法和技巧
40 | 为项目添加测试报告:使用第三方模块实现测试报告
41 | pytest框架简介:pytest安装、用例编写规则、执行用例
42 | pytest标记:查找测试策略、标记测试函数
43 | pytest参数化处理:使用参数化装饰器、解析列表、元组、字典等数据
44 | pytest Fixture:使用fixture实现用例之间的调用
45 | pytest setup 和 teardown
46 | pytest allure生成测试报告
47 | 使用pytest重构项目:实现用例依赖、测试报告、数据参数化
48 | logging模块简介:日志的作用、等级和常用函数
49 | logging日志格式输出:日志发生的时间、文件、模块、行号等信息格式输出
50 | logging模块四大组件:Logger、Handler、Formatter、Filter的用法
51 | 为项目添加日志:将日志应用到项目
52 | 使用csv模块读取CSV文件,使用pytest参数化实现DDT
53 | 使用json模块读取json文件,使用pytest参数化实现DDT
54 | 使用xlrd模块读取excel文件,使用pytest参数化实现DDT
55 | Selenium读取数据库数据:将数据保存到数据库,实现数据驱动的测试
56 | Selenium DDT:使用DDT模块实现数据驱动的测试
57 | 使用DDT思想重构项目:使用数据库保存数据,将数据驱动思想应用到项目
58 | POM设计模式简介:理解页面-对象-模型设计模式,实现代码的松耦合
59 | 设计BasePage类:设计基类,提高项目的代码重用性
60 | 设计项目页面对应的PO类:使用POM设计模式设计PO类
61 | 设计项目测试用例:将POM设计模式应用到项目
62 | Selenium Grid下载安装:配置Java运行环境,下载安装Selenium Grid
63 | Selenium注册node节点
64 | 使用Selenium执行远程测试
65 | Jenkins环境搭建:下载安装Jenkins
66 | 在Jenkins中运行项目
67 | 邮件通知:实现邮件通知功能
68 | 定时运行项目,实现真正的自动化测试
69 | 结课测试&结束语
登录 后留言

全部留言(15)

  • 最新
  • 精选
chailyn
每次更新多少集呀?对知识的渴望很浓呀🌞🌞🌞

作者回复: 五集左右哈 每周四更新

2020-07-15
7
妈的账号
老师,您讲的非常通俗易懂,还能再出一个postman➕jemeter接口测试,接口自动化这种课程吗

作者回复: 可以有哈😊

2021-01-15
2
3
孙军钦
老师,是这样的,我今天在用selenium grid分别启动了hub和node,用json文件的方式启动,在json文件中,我写了driver驱动的路径,启动以后,跑自动化,无法正常启动浏览器,但是以Java -d webdriver. chrome. driver这种方式就可以正常启动浏览器,今天查了许多资料,都没用解决办法

作者回复: 我这里有两份配置node和hub的,你参考一下: node: { "capabilities": [ { "browserName": "firefox", "marionette": true, "maxInstances": 5, "seleniumProtocol": "WebDriver" }, { "browserName": "chrome", "maxInstances": 5, "seleniumProtocol": "WebDriver" }, { "browserName": "internet explorer", "platform": "WINDOWS", "maxInstances": 1, "seleniumProtocol": "WebDriver" }, { "browserName": "safari", "technologyPreview": false, "platform": "MAC", "maxInstances": 1, "seleniumProtocol": "WebDriver" } ], "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", "maxSession": 5, "port": -1, "register": true, "registerCycle": 5000, "hub": "http://localhost:4444", "nodeStatusCheckTimeout": 5000, "nodePolling": 5000, "role": "node", "unregisterIfStillDownAfter": 60000, "downPollingLimit": 2, "debug": false, "servlets" : [], "withoutServlets": [], "custom": {} } hub: { "port": 4444, "newSessionWaitTimeout": -1, "servlets" : [], "withoutServlets": [], "custom": {}, "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", "registry": "org.openqa.grid.internal.DefaultGridRegistry", "throwOnCapabilityNotPresent": true, "cleanUpCycle": 5000, "role": "hub", "debug": false, "browserTimeout": 0, "timeout": 1800 } driver 路径只要保证在环境变量里可以找到 一般不需要配置

2020-07-13
2
3
Geek_d860b6
课程资料为什么没有文档可以下载⊙﹏⊙

作者回复: 都在压缩包里面

2022-08-20
ZhaoXiaokui
Pytest框架编写的自动化用例如何使用Selenium gride实现分布式并行测试?比如有1000条用例,如何让3台执行执行,同时去执行,提高执行效率。

作者回复: 使用 Pytest 和 Selenium Grid 实现分布式并行测试,可以让多台计算机同时运行测试用例,提高测试效率。以下是实现的大致步骤: 1. 首先,在本地计算机上启动 Selenium Grid。你可以从官方网站上下载 Selenium Standalone Server,然后在终端中执行以下命令启动 Selenium Grid: ``` java -jar selenium-server-standalone.jar -role hub ``` 这样,就会在本地计算机上启动一个 Selenium Grid Hub,等待节点(即远程计算机)的连接。 2. 接下来,启动远程计算机上的 Selenium Grid Node。你需要在每个远程计算机上下载并安装 Selenium Standalone Server,并执行以下命令启动 Selenium Grid Node: ``` java -jar selenium-server-standalone.jar -role node -hub http://<hub_ip_address>:4444/grid/register ``` 其中,`<hub_ip_address>` 是 Selenium Grid Hub 所在计算机的 IP 地址。这样,就会在远程计算机上启动一个 Selenium Grid Node,并将其注册到 Selenium Grid Hub 中,等待接收测试任务。 3. 编写 Pytest 测试用例,并使用 Selenium WebDriver 控制浏览器进行自动化测试。在编写测试用例时,需要将 Selenium WebDriver 的初始化过程包装成一个方法,并使用 `@pytest.fixture` 装饰器将其标记为 fixture。 4. 编写 Pytest 测试用例集。在测试用例集中,可以使用 `pytest-xdist` 插件来实现分布式并行测试。该插件可以将测试用例集中的所有测试用例,自动分发到多个计算机上运行,从而实现分布式并行测试。你可以使用以下命令安装该插件: ``` pip install pytest-xdist ``` 然后,在测试用例集中,可以使用 `-n` 选项指定要启动的计算机数量,例如: ``` pytest -n 3 test_example.py ``` 这样,就会将测试用例集中的所有测试用例,自动分发到 3 台计算机上运行。 综上所述,使用 Pytest 和 Selenium Grid 实现分布式并行测试,需要启动 Selenium Grid Hub 和多个 Selenium Grid Node,编写 Pytest 测试用例和测试用例集,以及使用 `pytest-xdist` 插件进行测试分发。

2022-06-22
Geek_dc1862
老师你好,请问这个课程没有文稿吗?

作者回复: 在资料包里面

2022-05-26
Geek_Soudy
老师您好,请问学完本节课可以做自动化测试吗,之前我对自动化测试有过了解,现在在自学python,目前在做功能测试,想学习一下。

作者回复: se可以做UI自动化 接口测试可以学习一下jmeter和Postman

2020-09-09
sea520
你好,请问下分布式项目测试有哪些好用的开源工具,方法,和建议呢?

作者回复: ui 可以使用 selenium grid 压测可以使用 jmeter

2020-08-03
口水窝
最近正在学selenium,虽然公司要求的是java的,但是编程思想都是相通的,期待和老师一起学习,学有长进!

作者回复: 嗯嗯 加油

2020-07-17
Ray
如何获得老师直播说的博客项目啊

作者回复: jpress.io去下载

2020-07-15
收起评论