TA的每日心情 | 慵懒 2023-5-17 09:09 |
---|
签到天数: 6 天 [LV.2]小吧熟人
|
登录后查看本帖详细内容!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
├─nm python全栈自动化测试52期 直播课1 _; n' q4 d, k4 E6 Z
│ 001-开班典礼+环境安装.mp4
: x- j. z3 Y0 L% T/ m, k│ 002-pycharm的基本使用.mp4
/ T% U ^) q( d$ U/ i$ S" `0 C; R│ 003-python基本语法.mp46 R! b4 a3 M4 t+ d( r5 J6 t1 c
│ 004-数值类型数据及运算.mp4( A* ^0 A+ N! L. ~
│ 005-字符串的基本操作.mp4" |( x. F9 {+ l0 Q! z
│ 006-字符串的常用方法.mp4( A4 }$ s4 H, o! t
│ 007-列表的基本使用.mp4
) n1 A* {4 }" T│ 008-列表和元组的基本方法.mp4
0 a! q; q1 w* K; W; S2 R│ 009-字典的基本使用和方法.mp4
- x/ {0 O" N0 n! Q& {│ 010-数据类型总结、debug调试.mp4 U M8 x* \2 o7 ]8 E% M$ d
│ 011-控制流程之条件语句的使用.mp4
- R6 v* n- `0 p% i│ 012-控制流程之while循环.mp4. W+ H1 ^" F& Q) S x" h" k
│ 013-控制流程之for循环.mp4
( f. g% v; a( U( I│ 014-函数的定义和调用.mp4, K4 u8 }( l$ c0 o, @0 i
│ 015-函数的参数分类及使用.mp4' M. J; i6 G/ d9 D7 I
│ 016-函数的作用域.mp43 t' d1 o+ ]# L' s
│ 017-内置函数的介绍.mp45 b4 p' Y8 w) ? H2 c* F
│ 018-文件的基本操作.mp4
$ i* z3 t$ X M g5 Q7 t│ 019-路径处理模块导入.mp4
+ G; J# U1 n# m3 w$ h! L# P1 A│ 020-异常介绍和处理.mp49 N9 o9 u- o( i: m" I5 q
│ 021-异常捕获和断言.mp4- U" c3 i* l! k* e8 ]8 `+ S; N0 h
│ 022-面向对象(一)类和对象.mp4
2 A2 {$ v7 N! v0 T. x│ 023-面向对象(二) 属性和方法.mp4/ M; k4 W* E# S% U; M& \. V
│ 024-面向对象(三) 类和继承.mp4" `' D% C2 b* q, z. j/ R0 |# l
│ 025-面向对象(四) 动态属性的设置.mp4 K5 J( S; \$ E. v, h7 |
│ 026-单元测试(一):unittest的四大核心概念.mp41 E$ x' k0 A: f1 U6 G
│ 027-单元测试(二):unitest案例实际应用.mp4
[4 `( Q4 W) n, T3 y/ i│ 028-单元测试(三):用例和数据的分离处理.mp4) a; ^3 R, ]4 O/ q) j- p
│ 029-python操作excel之openpyxl.mp4
. f& [8 y; e$ ?* r Q2 E9 b│ 030-openpyxl之2次封装.mp4
# y3 R1 K" [) F5 O+ M- c2 L│ 031-数据分离结合excel实际应用.mp4
+ g4 {9 O7 h3 k0 m6 E│ 032-数据驱动之DDT.mp49 D8 @9 u0 a% N& n$ T/ Y
│ 033-配置文件的解析和应用.mp4% y5 f' g$ L8 ]! D5 S7 k: m* z
│ 034-日志模块logging的使用.mp49 n% W" n* q! K: j# g
│ 035-logging模块二次封装、实际应用.mp4
, b' b' g9 d* x! }& s│ 036-框架模型搭建之分层设计.mp4
% R9 X0 L( z* \" [3 X x" e/ e) I+ ?│ 037-项目路径优化处理.mp4+ c" C5 g3 j4 |- D) {8 @9 I! g+ p
│ 038-项目实战一:接口和项目介绍.mp43 o( T, { [% k* M- K% Z/ E$ D
│ 039-项目实战二:http协议及鉴权方式.mp4! I$ i# }! J* d/ D8 q! F
│ 040-项目实战三:requests模块请求和数据解析.mp4
g$ o" \3 {8 w8 K3 T/ W│ 041-项目实战四:requests模块API封装.mp4
( s D c" Q' F8 O( l$ u│ 042-项目实战四:项目框架搭建.mp4: n2 U2 }2 c* s9 }- r
│ 043-项目实战五:接口用例编写.mp4. _0 j6 C' I; }/ K
│ 044-项目实战六:测试报告分析.mp4# s4 q" ]( h7 v% Q- H
│ 045-项目实战六:用例参数动态化-自动化测试教程.mp4# C; ?! f% }. `) `0 t- [$ I) ]7 }
│ 046-项目实战七:pymysql模块的使用-自动化测试教程.mp4
' Q6 D+ c9 [; w6 y* }% K; T+ M│ 047-项目实战八:项目结合数据库校验-自动化测试教程.mp4( J, U+ g7 b; q
│ 048-项目实战九:正则表达式的使用-自动化测试教程.mp4
# A+ z/ Y) L7 o1 d! h/ I2 a: f│ 049-项目实战十:接口关联数据处理-自动化测试教程.mp4
$ v4 m. J# h: J2 x# m│ 050-项目实战十一:项目环境管理和优化-自动化测试教程.mp4
% W2 g6 [) p6 F6 E│ 051-项目实战十二:git命令使用、pycharm与git集成.mp4
- l! v3 Z: a* J' `! f│ 052-定时任务-自动化测试教程.mp41 }' N+ ^ t( r. b2 M* D
│ 053-项目实战十三(2):jenkins集成自动化测试-自动化测试教程.mp4$ Q+ c g# T7 B+ |" V
│ 054-项目实战十四:mock测试-自动化测试教程.mp4
! q, t6 E H7 T0 x4 a2 l( I│ 055-项目实战十五:框架知识梳理-自动化测试教程.mp4
, X1 s2 l! ? c }│ 056-项目实战十六:简历辅导-自动化测试教程.mp4
; e5 T6 |* H* A) G7 P: J│ 057-Docker简介_环境部署_docker架构_基础命令.mp4
! I- g1 O) E: b+ a9 O│ 058-Docker镜像命令_Docker容器命令_其它命令.mp4* {/ f' i+ I4 o
│ 059-Docker搭建自动化环境_持久化存储和数据共享.mp4
- o% N4 C$ r- C: m% M- H3 I0 f7 f+ n│ 060-DockerFile语法、编写规则、构建镜像-自动化测试教程.mp49 C0 A; g8 U: Z% g' o5 o1 N S; }+ P
│ 061-Jenkins Pipeline语法和实战-自动化测试教程.mp4
& P1 {$ w. e/ `' T" z│ 062-pytest框架 pytest编写_发现_执行用例_断言_与unittest的差异.mp43 ]( A; m; S, G0 ]4 v! w" B- O% G1 [
│ 063-pytest框架:pytest的fixture实现-自动化测试教程.mp47 C" M' x( i6 u4 l
│ 064-pytest框架:筛选用例_allure报告_重运行机制_数据驱动.mp4
; r: j2 q1 `9 U0 p7 @1 s│ 065-pytest框架:接口自动化框架中使用pytest-自动化测试教程.mp4
* w2 u9 K2 z' s5 S- V' f8 H│ 066-pytest框架:jenkins中集成allure报告展示-自动化测试教程.mp4: D! A$ g u+ I& K4 @
│ 067-seleniumwebdriver环境搭建-自动化测试教程.mp4 y! y. z6 i0 G+ z
│ 068-selenium浏览器常见操作-自动化测试教程.mp4
- B$ ^! Z/ U9 H; w& {) ~7 \│ 069-web页面组成之html-自动化测试教程.mp4
" J$ R) O9 x* b# b│ 070-web页面-简单元素定位、webelement对象-自动化测试教程.mp4
2 C; U1 F2 P8 i8 T: [% L$ g3 x│ 071-web页面-xpath基本元素定位-自动化测试教程.mp4
$ R) l$ z' N/ Y$ i- t/ b% |5 L! |- l│ 072-web页面-xpath复杂元素定位-自动化测试教程.mp4! K/ c6 ]6 U! Z
│ 073-web页面-find_element、find_elements、By-自动化测试教程.mp4
; M$ N- E w! r3 \) U7 g3 d│ 074-web页面-页面操作(一)-等待、窗口切换-自动化测试教程.mp4
U! R' ?3 \+ S4 `* H, _" a│ 075-web页面-页面操作(二)-iframe_alert切换.mp4( T( \6 S6 v0 e3 j* ^) p) O
│ 076-web页面-页面操作(三)-鼠标_键盘_下拉列表.mp4
; b0 X* o L& x, L/ r│ 077-web页面组成之dom对象-自动化测试教程.mp4
+ ~( B9 V5 J5 b2 l│ 078-78 web页面-页面操作(四)-js操作滚动条_日期_其它.mp40 e! g1 {4 I C
│ 079-web页面-页面操作(五)-上传操作-自动化测试教程.mp4
8 x5 A, \& y/ c0 r' m│ 080-项目实战+框架(1)自动化应用场景、需求分析-自动化测试教程.mp4
+ U) K |- ~' c R│ 081-项目实战+框架(2)-自动化用例设计_PO模式.mp4; ]0 S+ N0 e$ P) ^, o! p
│ 082-项目实战+框架(3) - 引入pytest、断言处理-自动化测试教程.mp4
V8 w* B! C* L5 @│ 083-项目实战+框架4引入数据驱动、深入分层设计-自动化测试教程.mp4
& A3 v# `3 W4 @4 P; y│ 084-项目实战+框架(5) - basepage实现和封装-自动化测试教程.mp4
) O X' y6 d2 |+ N0 K│ 085-实战+框架6集成日志记录用例执行过程机制-自动化测试教程.mp4
5 }. n5 G* ~. Q│ 086-项目实战+框架(7)集成失败用例自动截图机制-自动化测试教程.mp4" b/ r/ J% y( Q* E
│ 087-项目实战+框架(8) -复杂场景的用例设计原则-自动化测试教程.mp4& k6 w9 B# v. K5 \, L9 N S
│ 088-项目实战+框架(9) - 复杂用例的实现-自动化测试教程.mp4: I+ i! A# u+ K( D: g! i, E
│ 089-项目实战+框架(10) - 灵活使用前置后置-自动化测试教程.mp4
3 W8 Q' D- V3 w│ 090-项目实战+框架(11)-master和slave模式应用-自动化测试教程.mp45 F/ V9 z! s7 t" g' A
│ 091-项目实战+框架12-jenkins集成和allure报告-自动化测试教程.mp4* o2 g0 k* @: c, J0 m
│ 092-web阶段内容总结-自动化测试教程.mp4. i% Q& L: b! H& C) @& C; I
│ 093-selenium框架原理-自动化测试教程.mp4
2 _ ^: P) T2 c" r/ O F% ^" N│ 094-web阶段在线考核-自动化测试教程.mp4
. E+ T& `% s' n, }/ }0 E( J2 `│ 095-毕业典礼-自动化测试教程.mp4# G; l# L3 [3 h
│
]$ J7 r& a8 N7 }├─副课-app自动化测试
0 o% |+ A. l. N: d│ 01-1-移动端系统介绍.mp4
! a4 l E' K/ k7 W) C│ 01-2-应用开发模式分类.mp4- `0 m$ b/ B- b7 X: i$ q3 V
│ 01-3-web与H5与小程序.mp4. r5 K+ z+ C& }5 m1 t! k
│ 01-4-App应用测试流程.mp4
, w& u, {+ g u4 _2 T: O│ 01-5-App测试要点.mp4
7 X3 C h' D; x4 |4 a ~1 S│ 01-6-App测试版本提交.mp4/ K/ d2 k. p9 l8 L
│ 01-7-App内测分发平台.mp4) v% ]0 y( l4 T/ Q
│ 01-8-App应用上架流程.mp44 Y+ R' p4 K; ^+ w4 Y0 {/ i
│ 01-9-App基础常见面试题.mp4/ f2 f& C2 q2 ^# J _4 }. {
│ 01-10-adb介绍及安装JDK.mp4
. w- N9 Z6 A \& t4 g│ 02-11-Android SDK安装配置.mp4
, `. B2 N' R1 J% J' n│ 02-12-adb连接模拟器.mp42 R' K- M" `. d- L8 b% }
│ 02-13-adb连接真机.mp4
* j' I' [1 U; c$ A. X' y1 {│ 02-14-adb常规命令01.mp4
9 j/ x! U; N2 A│ 02-15-adb常规命令02.mp4
$ T& U( H1 m2 o/ ~│ 02-16-adb shell pm包管理命令.mp46 k, A. d" [# e- H/ w
│ 02-17-adb shell am应用管理命令.mp4
# y/ d7 U7 B, Z, c' t9 R│ 02-18-adb shell input事件命令.mp4! _# U( H5 ?# y; K8 u" M2 {0 M- m$ j8 Y
│ 02-19-adb截屏录制及输入法设置.mp4" ^: D* q. a2 u$ r
│ 02-20-adb获取系统服务信息.mp4$ M- z* U1 L+ s0 v3 X
│ 03-21-adb常见面试题.mp4
1 f* g" |" r" [ m│ 03-22-抓包工具介绍及安装.mp4
: x5 z+ I* M7 `( [! p│ 03-23-抓包原理解析.mp4
; V' l" ~; F" N3 a) x1 z" g3 R│ 03-24-抓取模拟器http请求.mp4, O1 L5 U3 d, ^1 ~- _) `$ W
│ 03-25-抓取模拟器https请求.mp4
" ~) g; v( O2 H$ Y│ 03-26-抓取Android真机https请求.mp4' P- c$ ~4 w! r- D
│ 03-27-抓取IOS真机https请求.mp4 g6 p' S4 @- T( S5 Q) `
│ 03-28-Charles抓取真机请求.mp4
' B5 v8 y; C, s) ~) }│ 03-29-解决证书绑定抓取不到https问题.mp4" }# J- V, \& r5 n# q" i
│ 03-30-VitualXposed绕过证书绑定限制.mp4* ]0 o( a) L5 M' r! X4 x7 {+ K
│ 04-31-微信小程序抓包.mp4: {% z, h8 {: [
│ 04-32-抓包分析接口协议.mp4
& d4 e& B$ P( @( c+ e% a# q7 [# f│ 04-33-抓包分析定位前后端问题.mp4
& a9 A# x( ]/ Z, C9 s) }$ D│ 04-34-Fiddler进行Mock测试.mp43 y/ n8 I V9 E9 j. |
│ 04-35-Fiddler构造大量测试数据.mp4
% ], e6 |2 s6 t# w% f│ 04-36-接口异常测试.mp42 q3 a- l, ~* ^; \5 O' W8 F
│ 04-37-抓包常见面试题.mp4% k( D4 H# V& c0 N' S
│ 04-38-App常见异常.mp4
4 i$ L/ L5 r Z│ 04-39-logcat基本组成.mp4
8 K. l l1 g( L$ L: v! \) J# W│ 04-40-logcat缓冲区.mp4
8 b9 _0 U/ P: h/ u+ l9 M% @* h│ 05-41-logcat参数与过滤器.mp4
3 C1 T+ b" C& y. c│ 05-42-logcat分析crash问题.mp4
0 m6 F. k. u- B0 \# O, W* d│ 05-43-anr问题定位与traces文件.mp4) z3 _8 M! U3 Y$ F; P8 }, p2 V
│ 05-44-traces拉取失败原因分析.mp42 X2 |, t" ]3 j6 l. n* @9 f
│ 05-45-bugreport日志介绍及获取.mp4
% p% V i; T: _* a5 v1 _- f6 u│ 05-46-ChkBugReport解析bugreport.mp4* W# i! s! `, d3 K( {. B# K1 D
│ 05-47-IOS日志介绍及本机获取方式.mp4
. W4 Q% e, k$ M4 {2 s; j. G! ^│ 05-48-Windows导出IOS崩溃日志.mp4$ \9 n: g; P3 w( v6 m- [
│ 05-49-Xcode导出IOS崩溃日志.mp4
6 J! i. j, B( y; E8 Y1 l│ 05-50-移动端日志系统.mp4
; v5 k( u) s% w# L! l2 z- d│ 06-51-App日志常见面试题.mp4
* a6 y* v- W* o& J2 `- N+ t6 I7 v/ J│ 07-1-专项测试介绍.mp40 `' e" b$ l4 q+ Y3 u
│ 07-2-安装卸载升级测试.mp41 ?2 i0 L Z; Q+ w
│ 07-3-交叉事件测试.mp4* n8 g$ D& l, j. g/ e2 l+ q
│ 07-4-消息推送机制介绍.mp4. d* O% e7 u8 A0 s8 I, i" V
│ 07-5-消息推送测试要点.mp4
9 }1 P+ z& n7 h# Z- Z6 c7 k│ 07-6-兼容性测试关注要点.mp4' V, L% h; h! f0 G5 q( o7 a
│ 07-7-兼容性测试执行方案.mp4
- M4 e4 x( r9 K8 \$ O$ C│ 07-8-Monkey介绍与基本使用.mp4- ?; @7 g* t! Y/ v( c% X& Y
│ 07-9-Monkey参数之-p -v -s.mp4
$ ^7 g% }) W3 `- w, G│ 07-10-Monkey参数之延迟.mp4
- O% d8 w9 w; A5 @- T% H3 ]- x( N│ 08-11-Monkey参数之忽略异常.mp49 \! u! d; c: @$ u
│ 08-12-Monkey参数之事件百分比.mp4
1 X: k) z B. K3 T1 B2 D* N5 `/ Z│ 08-13-Monkey执行注意事项.mp4) k( J% K. _$ }2 Z
│ 08-14-Monkey运行日志分析.mp4# D( F1 T( ^) n7 Q: Q, n2 k2 \5 O
│ 08-15-Google App Crawler.mp4 {2 L8 D; R# T6 X/ ? E! U
│ 08-16-Monkey二开之Maxim.mp4
6 i; a5 S# Z9 Z5 {│ 08-17-弱网测试介绍及要点.mp4- {7 S. ^+ k5 `* A- S/ c
│ 08-18-Fiddler模拟弱网延时.mp4
( q5 h' t( d. S) A8 j5 e│ 08-19-Network Emulator模拟弱网.mp43 @1 N+ c* W7 J- x2 O i6 k
│ 08-20-Link Conditioner模拟弱网.mp4; x( P: T& C! L
│ 09-21-性能专项开展流程.mp4$ }4 e/ K5 j$ K' u! ?* ^1 }" J# z
│ 09-22-GT介绍及基本使用_new.mp4! E! z/ y$ v1 C$ k9 s( V9 ?
│ 09-23-SoloPi介绍及基本使用.mp4- b+ ^8 ]0 q0 V2 T0 b2 D
│ 09-24-PerfDog介绍.mp4
: C% S* T2 C( y# H: Q0 I1 K0 J│ 09-25-启动时间介绍与定义.mp4# l5 F! u1 @: e7 j, g" g# ?( r/ L
│ 09-26-adb获取应用启动时间.mp4
/ I3 D: q0 R: f│ 09-27-录屏数帧获取启动时间.mp4
% w& c) U8 W" _% _5 }+ _/ c│ 09-28-源码埋点统计启动时间.mp46 H! m$ ^% F R( N
│ 09-29-启动时间指标分析.mp4: P9 Q* w& M$ R
│ 09-30-TraceView介绍及数据采集.mp4! @+ Q. L+ Q' W+ ?; H* R
│ 10-31-TraceView文件分析.mp4+ |% G$ j/ X- m/ G0 M" l+ `
│ 10-32-CPU指标测试点.mp4
3 d R* A G$ Z* [0 {: h8 a1 U! [│ 10-33-CPU使用率计算原理.mp4
[6 r+ Z$ P/ j0 h' M│ 10-34-top获取CPU使用率.mp4; V$ \' j5 ^* k
│ 10-35-GT和SoloPi获取CPU使用率.mp4
% Q' c) Z+ z, ?& `+ j6 P- F! J% y* |│ 10-36-CPU指标分析.mp4* Q" G1 J1 u. O2 T* m0 w- s
│ 10-37-流量指标测试点.mp4& f' V& N: Z3 ?9 f& {$ c' @
│ 10-38-读取proc获取流量数据.mp4
' ]' _" G L) p, W│ 10-39-Android monitor监控流量.mp4
: q# N ~$ P0 t3 W( [2 B│ 10-40-SoloPi获取流量数据.mp4
! @" ^5 f1 \6 x, \5 N│ 11-41-流量分析 优化策略.mp4
! s0 l( ]. z+ {7 F8 ]8 B│ 11-42-电量影响因素及测试点选择.mp4* A7 S, _" A# ]4 V9 z
│ 11-43-耗电量计算原理.mp4
) Z/ y. N: D% D9 O# }. {4 l│ 11-44-功耗仪与内置电量统计.mp4# }+ Y5 }1 c8 f. G# Y
│ 11-45-batterystats获取耗电量数据.mp47 c; x9 i% L. k) I& j4 a
│ 11-46-Battery Historian安装配置.mp4, e% {- I7 c: [9 Q
│ 11-47-Battery Historian平台使用.mp4& w) t) v+ e1 c6 q/ w) }) p: ~& B
│ 11-48-内存介绍.mp4
& D. ]' F# A5 t, R* E9 o6 O│ 11-49-内存衡量PSS指标.mp4
* d. h+ e7 a M w│ 11-50-dumpsys与工具获取内存指标.mp4# Z7 t. \7 {( g. A% P! y
│ 12-51-App内存限制与内存溢出.mp4( i) W/ W) c3 \" d
│ 12-52-垃圾回收机制与内存泄漏.mp4
# M* [+ L$ Q5 k6 D+ R9 ^9 h│ 12-53-内存泄漏测试场景.mp4
% P* l, f0 L7 g6 A, Y9 P& d, G# C│ 12-54-dumpsys检测内存泄漏.mp4
$ @/ W6 J1 S" l: j7 _│ 12-55-ddms检测内存泄漏.mp4
' \' |; K1 o, G: W8 W9 C' J, s6 V│ 12-56-LeakCanary检测内存泄漏.mp4
' P" W/ @* s7 g% v" F2 w│ 12-57-帧率与刷新频率.mp4
3 E/ f* w" [! L k! n9 r│ 12-58-为什么需要60fps.mp44 G3 H8 o% l6 n4 ?/ A1 @; g3 K
│ 12-59-fps与jank.mp4+ f$ S4 N. P' h. O7 `
│ 12-60-dumpsys gfxinfo使用.mp4
7 f& E5 [7 S$ ~' U! ^$ y│ 13-61-jank与fps计算原理.mp4
# g p$ q. x5 b" d' t- m│ 13-62-卡顿评判标准.mp4
( P! R; i; ~; H) B9 |0 |7 T│ 13-63-过度绘制测试.mp4 O/ U/ n1 v* I7 F/ ?7 B+ h- ?: V' R
│ 13-64-严苛模式.mp4
! s9 Y7 _3 Q% k' f0 ]│ 14-01_课程介绍.mp4
; n+ q( N' F l/ F( |; T$ y│ 14-02_Appium服务安装.mp4
6 O6 z- [- H5 Y│ 14-02_安装Appium.mp4
, s4 l G6 T% b│ 14-03_安装Java(JDK).mp4
9 d) D7 [! e2 U% Y8 T│ 14-04_安装安卓环境.mp4
8 R# M' ?! s7 s" _9 }│ 14-05_快速启动app.mp4
- ]6 n, e7 o# `& p! @5 ^' @9 r6 x! D│ 14-06_通过包名启动app.mp4* L, N, k" O4 v
│ 14-07_启动参数.mp43 X+ u1 E$ K8 f
│ 14-08_一个完整的自动化脚本.mp4/ p+ Z7 N7 q; W- J
│ 14-09_元素定位和查看页面.mp4
9 U; K6 l/ b+ {) J" q│ 15-10_xpath元素定位介绍.mp4
6 P a3 o9 ?% k) s7 c+ M: T│ 15-11_xpath语法.mp4+ f% m' g6 ~, d0 _% U
│ 15-12_xpath在app自动化的应用.mp40 A. C4 [/ @+ l4 f6 ~
│ 15-12_隐式等待.mp4
4 U% V7 ?: w0 P1 F│ 15-13_显性等待.mp4+ Z, J) p: U; B- N4 X- i: N. n
│ 15-14_快速进入指定页面.mp47 C* }- r6 ?% E ?1 |
│ 15-15_用户输入.mp4+ \% w( m8 m, ?; D) ^# |" Z2 }
│ 15-16_滑动操作.mp4
4 Z, Q) B' I3 o│ 15-17_滑动操作的优化.mp4
, t- o' ^7 q R C' J; }│ 15-18_app前台执行后台执行.mp4
) ~) ]: P# O# \/ K) J│ 16-19_keycode按键操作.mp48 M2 W, R. Z8 X m+ h, Y
│ 16-20_toast弹框处理.mp4
' N- r& ^! O# |3 m+ I8 R│ 16-21_认识webview网页.mp4
- F9 l7 f( g- i+ O! S│ 16-22_webview测试代码编写.mp4. ~( }7 k1 b+ W" A$ t; Q
│ 16-23_pytest的作用.mp4) S8 k* i+ V9 z6 x+ c
│ 16-24_pytest如何编写自动化用例.mp4
3 c5 Y! _ h( D: F! r│ 16-25_pytest运行用例.mp4
! E f/ O' W! K' H c│ 16-26_pytest断言.mp4
* G* v' x5 ]5 x) L│ 16-27_生成测试报告.mp48 ? b& n o( A0 h0 U
│ 16-28_pytest用例参数化.mp4
$ g! f* p3 ]- n- V& Q│ 17-29_pytest_fixture.mp4
3 a* ]- ~& D9 g& o/ x" d4 [7 K│ 17-30_实战1:第一个测试用例.mp4. D2 z0 c& k4 S+ ?" i1 P
│ 17-31_实战2:引入用例断言.mp40 Q m/ H( W6 G* }0 L/ h
│ 17-32_实战3:代码优化思路.mp4) X6 h' F- ~4 ^2 _2 W; t1 w
│ 17-33_实战4:引入fixture.mp49 x- c5 w7 w* B) f
│ 17-34_实战5:po模式和分层设计.mp4, e y; {# V# Y- _
│ 17-35_实战6:数据分离和数据驱动.mp41 Z+ n) v1 ^! I% f4 e9 C( c! Y
│ 17-36_实战7:数据驱动分组.mp4
% C6 w9 \0 {& v3 V/ D, h1 W" f│ 17-37_实战8:将用例改成po模式.mp4
, f8 Q4 @5 ]3 f6 i│ 17-38_实战9:元素定位分层.mp4% V3 m8 P# }/ l) ^% a
│ 18-40_实战10:basepage.mp4
1 }* ~ a7 j0 u9 G! n4 b│ 18-41_实战11:basepage的使用.mp4& B( E/ }3 r; o& Z+ o1 z" B
│ 18-42_实战12:basepage的封装.mp40 I' G+ l' }2 ~# h& L$ q7 y
│ 18-43_实战13:分层思想的综合应用.mp4$ W0 F3 ~( }9 Q |. Q* K
│ 18-44_实战14:分层-夹具使用.mp4' X! I( ]6 ?' P
│ 18-45_实战15:分层-元素定位层.mp4
" Q5 b" i9 T& W. v! T- K& C, h│ 18-46_实战16:分层-PO.mp43 A& U& J6 t5 [( p2 Z( y
│ 18-47_实战17:分层-测试用例编写.mp47 A3 Z% _$ |5 ]1 H1 ~. z4 i' u+ a0 \
│ 18-48_实战18:细节优化.mp4
- n) q1 m1 U$ i│ 18-49_微信小程序测试.mp4' ]" _: U2 u+ R/ [/ b
│ 19-50_中文输入法和隐藏键盘.mp43 v5 \' J, O0 @
│ 19-51_放大和缩小.mp4% Z" f5 D1 p0 N c6 V5 B5 \
│ ; C! D0 {& W0 B& b
├─软件测试辅助课-mysql实战项目. B2 C, h1 w- O% G4 V+ ^9 g- R
│ 0001-【试听】创建表.mp4" @4 z9 |& p4 u @( X6 p5 g
│ 0002-子查询概念和分类.mp4
& \- h0 m w4 G; t* I; [5 ^# r│ 0003-临时表和复制表.mp48 Y0 _/ f1 i5 f9 ^' G5 I z/ w
│ 0004-概述-MySQL概述.mp4
( Q8 |4 n" Q3 V4 }! R4 v! l0 t│ 0005-概述-软件系统架构概述.mp4; k, T- W8 x3 }% g( h; I/ s9 z
│ 0006-安装-Windows下安装数据库.mp45 H' ]2 m! `7 Z6 Y+ c2 o! q
│ 0007-安装-Windows下配置数据库.mp4
& L. z: B' o0 P2 O│ 0008-安装-Windows下停止和启动MySQL.mp47 R, V8 b! X5 y# @
│ 0009-安装-Linux下安装数据库.mp45 B$ l' T7 s$ Y' [4 _5 T2 Q, u
│ 0010-安装-Linux下第一次启动MySQL数据库.mp4
; e/ r! k5 z3 O0 L: a) q/ g. C│ 0011-安装-Linux下退出数据库命令行模式.mp4
6 c: C6 y0 `# q X4 F' M/ g( u2 U│ 0012-安装-MySQL登录命令详解.mp42 m/ c/ \( s( j5 o/ T
│ 0013-安装-MySQL登录用户信息详解.mp4
3 E [9 Y7 k0 C) q2 n& f│ 0014-安装-创建支持所有主机远程登录的用户.mp4: ^ O' E q8 x: R: D& E. P' Y1 F G
│ 0015-安装-远程登录MySQL.mp4. z0 e4 ^1 |. j9 c5 u3 [ W
│ 0016-安装-MySQL启动和关闭及登录失败的原因.mp4
( s* s: k: e% F, p! t) W* Q│ 0017-概念与工具-几个重要的数据库相关概念.mp4
' Z! D/ ?" t: F│ 0018-概念与工具-结构化查询语言SQL概述.mp4 m* R1 \9 i; v6 x5 D3 I8 U
│ 0019-概念与工具-NavicatForMySQL使用.mp4, n* p5 O! O3 N+ }+ r% V& A. z
│ 0020-概念与工具-NavicatPremium使用.mp45 {3 L" r; _- @9 o. r+ O( E- d; d9 M
│ 0021-概念与工具-MySQL中间的注释.mp4
5 K( }% W0 ~. F5 D│ 0022-概念与工具-Navicat的个性化使用.mp40 A; i' H1 D/ ], C$ }& E m2 r9 f
│ 0023-概念与工具-名词解释.mp4
# n( t7 e' g5 ~/ a- V% L5 O, W' r9 M│ 0024-实战项目简介-项目概述.mp4% o. p) ]# O& Q* q) F3 W; K' Q
│ 0025-实战项目简介-数据表分析.mp4& J, ~: P' E+ A6 Y' S- A t/ ^
│ 0026-创建表-创建数据库.mp4
" o P1 L" j% f│ 0027-创建表-创建表的语法.mp43 E( T7 f# ?7 q
│ 0028-创建表-MySQL字段数据类型.mp4$ l( K( `4 G4 b1 U( o) b
│ 0029-创建表-会员表字段数据类型选择.mp4: p" B' ^; {% {5 ?' t3 s
│ 0030-创建表-数据类型宽度说明.mp4. `7 n8 X; n9 i W# p6 M5 S- a
│ 0031-创建表-主键的概念与使用.mp4, ?" i. t( M9 F2 X" y" x5 A
│ 0032-创建表-自增长.mp45 t" d/ d4 _' r9 C& z# R
│ 0033-创建表-备注与创建表的细节说明.mp4
. |' x1 l- p; Q/ v4 h$ N* n│ 0034-约束-约束的概念与分类.mp4
* x! |( A3 @5 _* m0 }4 p' k. W2 N│ 0035-约束-默认约束.mp4
9 X0 }4 @. H- V" k3 T│ 0036-约束-唯一约束.mp43 }, c6 `) u1 l% p# ^
│ 0037-约束-非空约束.mp4
! @- }3 A" z6 |& j│ 0038-约束-外键约束一-外键概念与创建.mp4
+ Z- g+ _% U* @- O* i) l- c0 g) V│ 0039约束-外键约束二-修改存储引擎支持外键.mp4
* r+ ^ ~' U$ r) J6 ?│ 0040-表结构修改-删除数据表字段.mp4
* V7 ?* @% k" y1 p│ 0041-表结构修改-新增数据表字段.mp43 p- |; @& h/ j p+ K$ y( `4 U6 q
│ 0042-表结构修改-修改表定义和表名.mp4
% G9 |! r$ `8 u3 q. M& P│ 0043-表结构修改-删除数据库和表.mp4/ R% }( j3 _0 |. k3 t: {
│ 0044-表结构修改-添加约束.mp4) `! {- @" p/ \
│ 0045-表结构修改-添加约束2-默认约束.mp4
* n( l. a9 U- }4 N: ]. \2 y│ 0046-表结构修改-删除约束.mp4
# \5 V7 h9 s) m3 ?) e9 N8 d│ 0047-表记录增删改-INSERT-简单的插入数据语法.mp4
; y: }, o" P' A& ?9 A│ 0048-表记录增删改-高级插入语法一.mp42 B2 s1 n7 _/ l8 K: z4 _6 t6 h
│ 0049-表记录增删改-高级插入语法二.mp4- p$ j6 Y, G6 V" O4 M5 C
│ 0050-表记录增删改-DELETE-删除表记录.mp4
3 }; X7 @' D# k4 u1 p; r& |/ O│ 0051-表记录增删改-WHERE-条件字句的使用方法.mp4
! P8 D/ l8 g7 d% |/ n2 f( v│ 0052-表记录增删改-UPDATE-修改表记录.mp4
0 c- o5 Q4 I+ E7 D }+ a# N│ 0053-简单查询-单表查询语法.mp4/ s4 i- O6 ?! H* q9 ?6 ?$ Z6 m
│ 0054-简单查询-多表查询语法.mp4" \7 a8 z8 B: _8 O X3 A; D) `
│ 0055-简单查询-别名的概念与使用.mp4: `% D+ W( t+ o& p7 A
│ 0056-简单查询-实战项目数据库初始化与说明.mp48 |1 X4 e |' k; J7 \# Z
│ 0057-个性化查询-LIKE模糊查询字句.mp47 Q. z. d' l2 Y8 ?/ `8 h
│ 0058-个性化查询-BETWEEN范围限定.mp4
5 a( D: y+ E' [; W0 k│ 0059-个性化查询-DISTINCT去重.mp45 r+ t: ^1 o' i4 M- k" C
│ 0060-个性化查询-GROUP-BY分组字句.mp4
2 l+ N$ x4 [; ?│ 0061-个性化查询-HAVING分组筛选字句.mp4
( ?2 x- }( U& X│ 0062-个性化查询-ORDER-BY排序字句.mp4
& w4 o9 i0 c& F3 Y│ 0063-个性化查询-LIMIT限制结果集字句(分页).mp4. t" M/ t. [. X' o5 i6 x
│ 0064-连接查询-连接查询的几个概念.mp4
" A3 \) n K( @5 e/ i. V│ 0065-连接查询-实战数据表结构与数据分析.mp43 l k; w+ g) P6 a
│ 0066-连接查询-等值连接.mp4# U; U' S4 b+ m# P* q
│ 0067-连接查询-左外连接.mp4
6 s9 X% V4 U$ p8 ^+ e│ 0068-连接查询-右外连接.mp44 q5 g: a* G" l3 T, _* {7 a2 Y( L
│ 0069-连接查询-完全连接.mp4
$ b$ R3 V7 Z) I: f; l& B│ 0070-连接查询-项目实战1-连接查询企业案例应用.mp49 W* ~: D6 R) J4 Y: [' V" `! `0 x9 q
│ 0071-子查询-子查询概念和分类.mp4; C( ?& P6 d, K v; h
│ 0072-子查询-IN和NOT-IN型子查询.mp43 A1 ~7 m5 l) W1 b. M: b! h) u
│ 0073-子查询-EXISTS和NOT-EXISTS型子查询.mp4
3 [; C# t$ _* j) I1 F& |6 O Z│ 0074-临时表与复制表.mp4
( n4 q0 {8 k' j│ 0075-视图-视图概念及应用.mp4
1 N4 E5 c: b; @7 V/ x0 I3 o│ 0076-系统函数-聚合函数.mp4( ]% t6 g9 | S. \
│ 0077-系统函数-比较运算符和函数.mp4- V" Z$ G* d- s
│ 0078-系统函数-字符函数.mp4
1 `! H4 r/ b: [│ 0079-系统函数-数值函数.mp45 X3 q. v# l4 Q7 |8 `
│ 0080-系统函数-日期函数.mp4
9 m5 g$ l# H$ m+ y│ 0081-系统函数-信息函数.mp4
! ?6 I$ T. `0 Q; a6 q8 C4 L│ 0082-系统函数-加密函数.mp4
4 J1 K$ U& v9 ]5 A' i1 m3 `) ^│ 0083-系统函数-IF控制函数.mp47 D, ?5 g; k- u$ B3 [& ]0 _7 ^
│ 0084-系统函数-CASE操作符.mp4! g5 e) q( N9 e3 X6 K4 I! D( _: C
│ 0085-系统函数-IFNULL判空表达式.mp4
5 D9 [/ k6 @# ?3 x3 _9 ~- Q% z│ 0086-自定义函数-分隔符的修改.mp4+ c; b1 n2 G& E0 N% ]- F1 n
│ 0087-自定义函数-永远的Hello-World.mp46 t6 i, y9 z' ?$ j
│ 0088-自定义函数-带参数的自定义函数.mp4
3 i* r$ g8 \' Q. y│ 0089-自定义函数-变量与自定义函数实战.mp4
5 o) d8 H% G6 h( z9 c- }" @│ 0090-控制语句-控制语句的概念和函数模板代码.mp48 B3 [" m5 Z1 O0 c& }( u$ o1 ~3 X8 T
│ 0091-控制语句-IF分支控制语句.mp46 r+ i; e: |( @- u9 P6 [1 W
│ 0092-控制语句-CASE分支控制语句.mp4
/ L6 e B; M8 n" L5 R9 A│ 0093-控制语句-LOOP循环控制语句.mp4
. |2 c! R) g0 Z3 h1 X9 e│ 0094-控制语句-LEAVE结束循环语句.mp41 l# \( v4 C2 V# _6 e! s
│ 0095-控制语句-ITERATE跳出本次循环语句.mp4
% y( V1 Y" t$ i7 `9 u1 g│ 0096-控制语句-REPEAT循环控制语句.mp4# N+ P' P! ^8 D$ c
│ 0097-控制语句-WHILE循环控制语句.mp4
' v7 _( v4 x, B5 K7 K│ 0098-存储过程-存储过程的Hello-World.mp4$ O* K2 R2 a2 [8 s' Q' i
│ 0099-存储过程和函数的区别.mp4/ K/ i9 t# I7 D- G$ |
│ 0100-存储过程-IN类型参数.mp4& I: n* d* [9 \' O4 A
│ 0101-存储过程-OUT类型参数.mp45 m% o8 c, |" `6 `/ p
│ 0102-存储过程-INOUT类型参数和三种类型的比较.mp4
- @* s; |1 v. J2 v│ 0103-存储过程-条件和处理程序-应用场景.mp4, |* q% b2 h( |$ m) I. f' ^
│ 0104-存储过程-条件和处理程序-定义条件.mp44 x' g6 r% b" h9 H: f/ |
│ 0105-存储过程-条件和处理程序-处理程序.mp4; O# n1 Y( k4 ?. \ J
│ 0106-存储过程-CURSOR光标.mp4
* u# `' F y. H│ 0107-项目实战-编写还款存储过程.mp4; P* w5 J" c# X9 T& ~' t) Q
│ 0108-项目实战-功能验证和错误修复1.mp47 R6 ?) U5 M9 p3 u( }* s- H
│ 0109-项目实战-错误修复2.mp4
' ^ j7 D9 c0 h│ 0110-触发器-触发器概念和简单案例.mp4
: T- p* N5 y( R5 j- A" s6 Y$ V6 V│ 0111-触发器-NEW和OLD访问触发记录行的某列值.mp4
+ I3 I/ P+ }* n8 l│ 0112-项目实战-问题描述和解决方案.mp4
$ t* p0 _4 }) j9 N) }│ 0113-项目实战-同步已存在数据到新建表.mp4
' Q2 S4 E" e1 f3 }$ A o│ 0114-项目实战-编写存储过程处理后续数据.mp4
9 X7 h- {6 L, g' @" @0 ^4 x│ 0115-项目实战-验证.mp4- m* I q+ F6 ?: R" ]; H8 z0 N
│ 0116-事件-事件的概念与创建语法.mp41 P% s# z p, j3 N+ ~
│ 0117-事件-事件项目实战.mp4$ _1 O/ w# E! C4 C. a% |" V
│ 0118-索引-新建表创建100w条数据.mp4
# Q, G& }" ~4 H z│ 0119-索引-概念和创建普通索引.mp48 c. Z, r- b6 g7 |' ~. J9 ]6 [8 t: A
│ 0120-索引-索引的分类和组合索引说明.mp4
p3 p5 |5 G4 S│ 0121-备份与恢复-通过工具进行简单备份和恢复.mp47 i* X% c8 {% w7 d
│ 0122-备份与恢复-mysqldump的备份与恢复.mp4
* {; z" q6 `* s│
- r t% l; ?5 s+ E├─软件测试辅助课-python自动化测试
* X& b4 X. }4 ~5 m! J│ 001-7周年.mp4 }+ A4 x; b. q6 }" s0 H
│ 002-1、本课程到底培养什么样的自动化工程师?.mp44 T) j4 {* f& O
│ 002-2、零基础小白能学会自动化吗?.mp4$ T9 `6 E2 k( W
│ 002-3、接口自动化的框架和项目实战是什么?.mp4" \" Q0 M& }: v; M" l
│ 002-4、UI自动化的框架和项目实战是什么.mp4
2 p q$ t" |" o% A( B6 F$ ?│ 002-5、就业保障..mp4; K7 U" h, L {$ v! C3 a% x
│ 03-1-python自动化vip课程介绍(小简老师).mp4
& N+ U: l( c% _& K0 [│ 03-2-循环和嵌套循环(海励老师).mp4& S* Y$ w4 ?* R4 K; s/ Y1 f
│ 03-3-接口及相关概念(心蓝老师).mp4
. `! b' v" h y# |, n) @$ a8 B│ 03-4-selenium的基本操作(木森老师).mp44 j$ Y. J n. u/ N) B2 Y
│ 03-5-appium原理和inspector(雨泽老师).mp4
7 M# B: B8 Z$ b/ q7 _2 Y│ 04-1-课程简介.mp4( D$ n$ ]- v- c: a
│ 04-2-简介&安装配置.mp4
+ p/ s1 M/ W4 u5 S│ 04-3-分层设计-项目工程结构分析.mp4, b3 p2 [4 H! q# }' _6 P
│ 04-4-用例编写-基础案例演练.mp4& Q: i( R' @! a! I
│ 04-5-框架用例编写.mp4, F2 C* ]* L7 R8 C* e
│ 04-6-环境变量理解&案例演练.mp4
: l7 F: j3 }4 Y4 q* {* a│ 04-7-全局变量理解&案例演练.mp4
- d7 z2 O# t6 a+ i6 e) l│ 04-8-debugtalk.py文件理解&案例演练.mp4. N& [7 i8 x1 j' X$ R: j6 N
│ 04-9-框架用例优化(四) base_url.mp4& L d* N" s' B" c% |
│ 04-10-validates断言简介.mp4
( ~6 f, I$ _$ V; e- R! n│ 05-1-validates断言种类.mp4
8 Q* |- M* u$ `. ~- |│ 05-2-响应数据提取-案例准备.mp4% E% B) n9 X4 Q; W; } s" R
│ 05-3-响应数据提取与接口依赖处理.mp45 ~( ~/ A/ X0 l; H; c- I3 y
│ 05-4-三种参数化&案例演练准备.mp41 j& R8 p' o! L
│ 05-5-三种数据驱动方式(一).mp4/ P! `' K! B \. @" `' T# w0 C
│ 05-6-三种数据驱动方式(二).mp4* I9 D& W7 K) N4 z
│ 05-7-三种数据驱动方式(三).mp4
5 I% X+ r; W1 n" [0 A0 {│ 05-8-平台化应用&案例演练.mp4
# p4 u) l* f3 ~ A& p4 u- H9 f│ 05-9-课程总结回顾.mp4+ a# d0 I" W g% s" R) W4 w
│ 06-1-白盒测试第二节课-语句覆盖.mp4
, K1 }# N9 Z) o( e2 m/ @6 q) ~2 o│ 06-2-白盒测试第三节课-分支覆盖.mp47 o, F# F/ N; P* a" I# m8 }
│ 06-3-白盒测试第四节课-条件覆盖.mp4% `+ U( G s Q" T3 { q- J5 ^
│ 06-4-白盒测试第五节课-判定条件覆盖.mp4
% X* K5 @3 q) b8 Q│ 06-5-白盒测试第六节课-组合覆盖.mp4
& S E3 q* |5 v5 |' q│ 06-6-白盒测试第七节课-路径覆盖.mp4
$ p% h) Q/ A8 ^: N( u, n, ]9 r│ 06-7-白盒测试第八节课-总结.mp4
0 p; p) O F% Z8 Y│ 07-1-课程介绍.mp4
9 ~; w3 h& o1 f) V- e│ 07-2-pywinauto的环境安装.mp4, f% m1 w1 |# N. u. J1 z$ R9 w$ u# e
│ 07-3-自动化的切入点.mp4
3 i1 {0 h; |3 \│ 07-4-程序辅助检查工具的使用.mp4; ~& h- a3 ~; U0 _9 i/ r, Y
│ 07-5-pywinauto打开指定的应用程序.mp47 L2 Q2 |; V# [: e5 q' b
│ 07-6-pywinauto选择指定的窗口.mp4- D3 O1 ^" v" S6 T9 ]3 Q X
│ 07-7-窗口的操作方法.mp4
# r8 Z2 _0 I5 S% v0 r: R7 [│ 07-8-窗口上的控件选择.mp4- Y! }: }5 m" z
│ 07-9-窗口控件的分类.mp4, c. B B. s0 m" p
│ 07-10-控件相关属性的获取.mp40 I% A1 l t4 F
│ 08-1-控件及窗口的截图操作.mp4 n1 J+ U# g! b. E5 ^
│ 08-2-菜单控件的操作方法.mp4
2 T0 y# [& ]; w' L% \ [) u│ 08-3-pywinauto中的等待机制1.mp4
. ?1 j. S! y4 R, [│ 08-4-pywinauto中的等待机制2.mp4
- f. u1 f6 U% H3 L3 i│ 08-5-编辑类型的控件操作.mp4
4 |7 q( b5 ?2 i7 x8 W! Y│ 08-6-模拟键盘的基本操作.mp4/ d" x- H7 y3 [
│ 08-7-键盘修饰符的使用.mp4
6 r: D& h2 f3 c0 j/ O* X│ 08-8-键盘修饰符的使用.mp4' o# H1 C6 V4 O: N# _7 c
│ 08-9-任务栏通知区域的操作.mp4
4 O3 O/ `9 E% F│ 08-10-隐藏通知区域的窗口检测和操作.mp4
* S- L, R# I( H% e! h2 j% y4 @│ 09-1-项目实战之单个功能操作实现.mp4
/ { b' N2 ?, ~8 a$ R* X│ 09-2-项目实战之基本功能操作实现(二).mp4
6 U: G4 e7 B$ x( ?6 ?. `0 R│ 09-3-项目实战之基本功能操作实现(三).mp4
+ x8 w5 G" n2 S: k9 w: g: B( c│ 09-4-项目实战之行为封装(一).mp4! G& \; s4 n* G6 R
│ 09-5-项目实战之行为封装(二).mp4
& f! f+ B8 W }( f9 |% n. h│ 09-6-项目实战之行为封装(三).mp4
# n6 ]# m9 s* R! g% I; c, X$ I│ 09-7-项目实战之行为封装(四).mp4
+ \2 \7 u' R5 R8 w4 l4 [│ 09-8-项目实战之用例分析.mp41 B6 r( h1 Y) f% K
│ 09-9-项目实战之unittest编写自动化用例(一).mp4
) t$ U- a# C4 r# y% N" v│ 09-10-项目实战之unittest编写自动化用例(二).mp4 b2 w7 T+ U u2 p/ V! `
│ 10-1-项目实战之添加连接动作bug修复.mp4- f2 X3 v# _# N7 q/ y7 ?+ u$ u: T
│ 10-2-项目实战之用例执行环境的恢复.mp4
: [) j5 v( D4 Q$ B│ 11-1-_rf编写用例+资源文件+用户关键字.mp4/ U; R4 l1 C2 T6 m/ ^3 N
│ 11-2-robot关键字定义+变量+if+for..mp4
; V* A3 c- D: O! ?│ 11-3-Library关键字了解+PO模式应用.mp4
: d; E. t+ X9 \, Q/ h/ @8 o+ }│ 11-4-接口测试+数据驱动+用例 运行时设置.mp4
9 ~. R4 b1 i) f# h- V3 Z7 z│ 11-5-fixture共享+嵌套+参数化+打标记.mp4
- N1 q7 K' i7 h I& `& j' o│ 12-1-终端的使用.mp4; K1 ^1 @8 u- o$ k: A- L( t6 {
│ 12-2-JDK环境的搭建.mp4
4 \% Q; ^% u7 z# C│ 12-3-Eclipse的安装和个性化配置..mp46 h5 y1 v" S) K9 b$ t( z$ J9 f
│ 12-4-创建Maven工程.mp4: j, T/ E/ `6 H6 b
│ 12-5-Maven引入第三方库..mp45 `" g* N* W# X
│ 12-6-Eclipse配置自己安装的Maven.mp4
" h. |0 b0 _# y3 c2 R. V, y│ 12-8-TestNG插件的安装和创建TestNG类.mp44 y; D* @# E# N5 @1 |9 W. f9 Z
│ 12-9-xcode安装.mp4
8 Q: j9 E d0 j) f/ r; ?! m│ 12-10-xcode相关的设置.mp4' a% l6 Z9 G$ ^! T9 i" j7 p
│ 13-1-homebrew安装.mp4, z% p) h! M A, f2 A
│ 13-2-npm和nodejs的安装.mp4
' ]6 \2 ~: v) k│ 13-3-libimobiledevice的初步安装.mp4% `- k5 b7 c3 v. G# \; |
│ 13-4-libimobiledevice安装错误的解决.mp4
; y5 E( ]6 R" V+ `│ 13-5-ios-deploy安装..mp4
% Z3 B i& Y, \8 }/ s! e9 w6 k│ 13-6-ideviceinstaller安装.mp4
. ~$ Q1 u; ?2 S% Y, ?2 K│ 13-7-Carthage安装.mp4/ K; W) H/ d: B3 a9 H. }
│ 13-9-Appium-桌面版本的安装.mp4
3 H$ C; U" Y1 G9 ~│ 13-10-appium-doctor命令的运用.mp4" b/ u, Y: Q. f+ P* F" B% b) Q! E. _
│ 14-1-Andorid sdk安装和环境配置.mp4
0 k& k H8 J8 _: j- N│ 14-2-第一个iOS自动化测试脚本-1.mp4! b; F& F5 |1 H: @5 @" Y) Y
│ 14-3--第一个iOS自动化测试脚本-.mp40 t+ \4 y1 o2 u |6 x6 Y. ^
│ 14-4-软件需求与支持..mp4
+ i4 B8 t: r6 |│ 14-5-Appium介绍.mp4.mp4$ G) y* W- U1 f4 |- S0 \, t
│ 14-6--iOS9.3之前Appium测试原理.mp4
t6 N$ [" k6 R, E4 h│ 14-7-iOS9.3之后Appium自动化测试原理.mp4 d T1 z% l f9 }+ g* K
│ 14-9-编写脚本调用接口创建Appium会话.mp4
6 o# W C; s5 ?' u4 o4 W0 P$ k│ 14-10-设置代理抓包创建会话接口.mp4( d8 ]+ l3 b: A& r: C$ f4 z
│ 15-1-Appium Desktop简单介绍.mp4* h! Z6 H. g, t7 \# g
│ 15-2-启动一个检查器会话.mp4
m6 y) `5 p4 s9 B9 h3 U# ^; N8 U, Y│ 15-3-Inspector-检查器详解.mp44 @. t; z J, X4 a9 a
│ 15-4-Inspector-检查器详解.mp4 N f% f- Q2 |# w5 x
│ 15-5-Inspector-录制功能详解.mp4$ S0 t4 j% a6 F% Q+ Z1 V
│ 15-6-Inspector-设置代理抓包接口..mp4
/ [( z. }9 S' O+ Y! d│ 15-8-元素定位-AccessibilityID方式.mp42 Y) d O( e' ^
│ 15-9-元素定位-iOSClassChain方式.mp4# J5 X8 J4 L6 F3 j7 [
│ 16-1-元素定位-谓词-比较和范围运算符.mp4; l0 ]* ^; \- V1 Q% x# r7 g0 ]
│ 16-2-元素定位-谓词-字符串相关.mp4
. p1 N$ S1 M6 }2 |" r/ O( O│ 16-3-元素定位-谓词-模糊匹配..mp4. J/ g! z* Q' n' T/ L# R q' F
│ 16-4-元素定位-谓词-逻辑运算符..mp49 e2 b/ Q: v8 b7 g. Y
│ 16-5-元素定位-谓词-正则表达式.mp4
/ H4 N. ?8 I/ g; |, N│ 16-7-Driver相关API-截屏.mp4- R: B! |+ }1 w0 o% T
│ 16-8-Driver相关API-Session相关.mp41 Q' a& {4 g! F4 G2 ]
│ 16-9-Driver相关API-延时等待..mp4' a' N: K# b$ [0 Z3 i
│ 16-10-Driver相关API-屏幕设置.mp4
( {* ^, A8 J; K t! p, b. g. S) ^│ 17-1-Driver相关API-锁屏解锁设备.mp4: I% o$ h; ]& t
│ 17-3-Driver相关API-软键盘相关操作.mp4+ M( R' y! J6 S4 J$ _
│ 17-4-元素相关API-点击输入清空提交等方法.mp45 ~1 O& {% `1 m. Z# E" {
│ 17-5-元素相关API-获取元素信息相关API.mp4& }# ]6 S, @- O. g0 W- [$ S
│ 17-6-App相关操作-1.mp4: X, I3 H" j7 v, F5 |4 ?2 L, C
│ 17-7-App相关操作-2.mp48 ]6 U: P/ f; Z4 C: W( Q
│ 17-8-App相关操作-3.mp4 t% W" G0 P" f* G$ R& k) n$ Z8 S
│ 17-9-Gestures-01-Swipe.mp4
4 d4 M8 l+ A: I& i0 y' r2 u│ 17-10-Gestures-02-Swipe.mp4
6 x0 P& U1 @% `6 a│ 18-1-Gestures-03-Pinch..mp49 [' n1 k a" g5 }" F7 b- A
│ 18-2-Gestures-04-Tap.mp4! A* Y8 F3 R5 R4 Z$ Z
│ 18-3-Gestures-05-DoubleTap.mp4
2 y1 C" w+ j* F│ 18-4-06-TouchAndHold..mp4* ^, l. |* y4 }: m: D+ {* r4 _
│ 18-5-07-DragFromToDuration.mp4
/ }0 h& v8 P" M( j. S5 M│ 18-6-SelectPickerWheelValue..mp47 v. ^3 n4 e5 d; t* y* y, b
│ 18-7-Gestures-09-Alert.mp4& f& |8 s* b3 l; j- ?
│ 18-8-Web-Web自动化测试Demo..mp47 f6 w4 h4 g! p# w
│ 18-9-Web-iOS Web自动化测试元素查找与操作.mp4/ p' Z9 O# f: I# @
│ 18-10-Web-使用Chrome查看页面元素信息.mp4! E5 X @- u% L* G
│ 19-1-Web-Hybird App及相关Api概述.mp49 |& @& S9 M% o6 n; a
│ 19-4-Hybird App切换回原生App上下文.mp4
. b$ e4 V% i* ^/ o% A│ 19-5-Apple证书体系-苹果开发者账号概述.mp4; ]3 A# E3 ?) ?$ l2 A
│ 19-6-注册免费Apple Id并成为开发者.mp4
+ } ~' q7 K' v. a' L7 G. Z8 ?│ 19-7-XCode真机打包之账号设置和签名.mp4; m& p; X8 ^2 o: @. n
│ 19-8-Apple证书体系-Xcode真机编译安装应用.mp4
4 S5 o8 q2 H6 [/ p* ]; P' M" C│ 19-9-Apple证书体系-Apple证书体系简介.mp4" O; x" a4 i* R1 e
│ 20-1-公司开发者账号打包ipa并分发安装.mp4
& f# z, g! R- n8 g2 D, T│ 20-2-WDA-Appium原理回顾.mp4! u0 l/ |( _0 d- u$ {
│ 20-3-xcodebuild命令安装WDA到模拟器.mp4& t& j+ X. }6 q) A, r6 }6 J' l
│ 20-4-xcodebuild命令安装WDA到真机.mp4& y' J1 G$ o f; n
│ 20-5-WDA-通过转发8100端口验证WDAR服务.mp4
, N: ]# E' c6 e3 F$ Y│ 20-6-WDA-解决bundleId不符合预期的小问题.mp4
# C" E. R" @2 a5 C) f3 o│ 20-7-WDA-通过XCode直接安装WDAR到真机.mp4) Q8 m" f6 J& O* N- x
│ 20-8-WDA-Appium在真机启动检查器会话.mp4
9 G u6 v" d+ U│ 20-9-WDA-WDA配置与安装到真机.mp4
! M5 W! Z' }$ g6 n0 \7 R* l$ k│ 20-10-WDA桌面App检测器验证命令行App的WDA.mp4
+ O$ a- U$ g: E) O& m│ 21-1-GitHub上Clone WDA到本地及编译.mp4
: c1 e+ ~/ O3 C a$ q+ G* }" W│ 21-2-WDA-修改签名安装到真机并进行测试.mp4
: o5 m2 E" K8 |2 Y0 y│ 21-3-知识点回顾及WDA Inspector简介.mp4
: T# l0 B* ^1 Z8 ]. K│ 21-4-真机-iOS真机自动化脚本测试.mp4
3 G* A8 @* i8 [│ 21-5-真机-iOS真机自动化脚本测试-使用ipa包.mp4
3 B0 y" T0 K+ Y4 n- @/ [│ 21-6-iOS真机自动化脚本测试-已安装应用和WDA.mp4% y9 |& U6 K! m% L0 h; I! @ ]
│ 21-7-补充内容-查看设备信息命令.mp4' P* z) G- e" W4 Y3 }$ o
│ 21-8-libimobiledevice相关命令.mp42 {" Z9 R* p6 v) H# S
│ 21-9-补充内容-ios-deploy相关命令.mp4: M6 A3 N5 d' u, M, X8 A0 L
│ 22-1-Jmeter性能录播-01.mp4
$ i6 T+ g* M' a+ h/ v3 m& |│ 22-2-Jmeter性能录播-02.mp4/ \: D& F9 Q5 ~' M9 [2 ?: d+ f3 n% G
│ 22-3-Jmeter性能录播-03.mp4! ]3 F. H- @9 s' S. c( J9 V- _
│ 22-4-Jmeter性能录播-04.mp4' J5 l7 K$ b$ u+ L
│ 22-5-Jmeter性能录播-05.mp4
8 |5 f3 d4 r0 z, s6 \│ 22-6-Jmeter性能录播-06.mp4% _5 G" J( t) t4 ^7 e2 `! p
│ 22-7-服务器监控.mp4
; [" i0 P5 n8 @; Y/ F│ 22-8-grafana监控平台.mp4
% g$ X, t) u. I1 \( `; z; T│ 23-1-Cypress_01_为什么要学Cypress.mp4/ b; `9 |5 t( [% e( l
│ 23-2-Cypress_02_cypress安装和快速使用.mp4
; o5 Z7 |/ ?2 a2 h) _' ^│ 23-3-Cypress_03_使用vscode编写代码.mp4
3 Y, |, {) [* E1 E1 Y│ 23-4-Cypress_04_代码智能提示.mp4 E3 `+ {( C2 s( A2 Q
│ 23-5-Cypress_05_写一个完整的自动化用例.mp40 x: }+ P# {9 }# R
│ 23-6-cypress_06_javascript基础语法.mp4* Q2 l6 I( b& ^
│ 23-7-cypress_07_箭头函数.mp4' T2 m# v0 i ]) E! t J4 D2 Y
│ 23-8-cypress_08_回调函数.mp4- J% c X8 `* p* p( s
│ 23-9-cypress_09_使用mocha进行自动化测试.mp45 M$ E2 X% U: m% e- _
│ 23-10-cypress_10_浏览器操作:页面导航.mp43 @: O; n+ y8 g4 @
│ 24-1-cypress_11_浏览器操作:元素定位执行方案.mp4& q7 C: w( z) q' H: V( A; V- l
│ 24-2-cypress_12_元素定位2:上下级关系.mp4
2 C4 s/ P' p5 d" f, c8 J│ 24-3-cypress_13_元素定位3:within.mp4
" u7 G7 @+ O2 T) a│ 24-4-cypress_14_元素定位4:contains.mp4( \' O* E$ w! E# H: W% ~& U1 e/ z4 x
│ 24-5-cypress_15_用户输入操作.mp4
9 v5 g# c3 a3 d0 ?: d│ 24-6-cypress_16_点击操作.mp41 E; k& _- s o! ?( A- Z& X
│ 24-7-cypress_17_单选和多选框.mp4
' z8 o6 H7 B! x% u: f; [# i│ 24-8-cypress_18_select下拉框选择.mp46 M8 H: S- e# v& C A
│ 24-9-cypress_19_窗口滚动.mp4
6 A/ o0 g: A, c│ 24-10-cypress_20_可滚动元素的滚动.mp4% d: i6 V/ P3 |- Z! I) C
│ 25-1-Cypress_21_命令行运行.mp4% q' q3 w, d0 r f/ x
│ 25-2-Cypress_22_上传文件.mp4- v/ f% n4 c: @4 u" Z
│ 25-3-Cypress_23_生成测试报告.mp4
6 G- ?( E$ i7 n3 `│ 26-1-越权漏洞.mp4
; p( c# _: U6 T* |; f7 k; d│ 26-2-Burpsuite-1.mp4
. }* |5 {: D' u+ f3 @; t3 S│ 26-3-Burpsuite-2.mp4; `2 e) G/ P% @0 o
│ 26-4-Burpsuite-3.mp4
& }# B# S) X. s: J│ 26-5-sql注入-1.mp4: A3 }$ d4 i; ?( V1 R$ i! S
│ 26-7-sql注入_xss漏洞-1.mp48 R$ s( G! Y" D J$ z; A. S
│ 26-8-sql注入_xss漏洞-2.mp4
) B7 W6 J: k: d0 ~. f│ 26-9-xss漏洞-1.mp42 [3 O: l, ~4 [! a' u" L
│ 26-10-xss漏洞-2.mp4
/ d$ q& |& m) k# u! W) x│ 27-1-locust0上手.mp4
" p7 Q7 q9 o, V! J│ 27-2-运行locust0脚本.mp4: p9 S( ~! o3 v1 ~6 o) w* R
│ 27-3-locust0参数.mp4
9 e$ D4 g3 J' c│ 27-4-locust0图形界面模式.mp4
) C# C+ L- _+ a3 Q* _2 `1 f" r│ 27-5-locust0无图形模式与分布式.mp48 w8 B1 O2 E( U/ Y: ]* k( {
│ 27-6-locust1功能变化.mp47 b2 h e# ]( n7 Y
│ 28-1-时间复杂度-1.mp4
8 Q* `! J+ X: I! X, |, f│ 28-2-时间复杂度-2.mp4
, k) j; U8 m2 Q8 e4 s│ 28-3-空间复杂度、递归-1.mp4/ O, n7 e6 d* H) V" d
│ 28-4-空间复杂度、递归-2.mp45 C" S) m0 f6 j) a7 B1 k
│ 28-5-链表-1.mp4
9 ?' M1 M7 o4 p+ [/ u2 ?│ 28-6-链表-2.mp4
7 O1 H# y0 v. P# l( K l│ 28-7-二叉树-1.mp4 Z6 p( }7 o; s( }6 d# F
│ 28-8-二叉树-2.mp4
& B# E4 L, Q: k; a5 q, ^# ~│ 28-9-栈、队列、设计模式-1.mp4
$ p+ E* s. c$ Q│ 28-10-栈、队列、设计模式-2.mp4+ w+ Q9 ]" M5 l2 v4 n. p0 F( b
│ 29-1-Linux系统介绍和连接工具.mp4
+ h e! w$ I* G* V* a│ 29-2-Linux目录结构.mp4: G: W. t7 _# m& U: {9 P( L! l
│ 29-3-系统信息命令.mp4& I6 ~' y& T7 \2 S1 h1 ~
│ 29-4-硬件相关命令.mp46 t% l2 X; _7 y* ]) d
│ 29-5-磁盘使用情况df命令.mp47 X3 ?( k3 l3 b T
│ 29-6-磁盘使用情况下.mp4
: e6 P# ?% t% z4 h# b; s# D│ 29-7-文件和目录操作上.mp4
) I; ]* a$ g* l' K" m: Z│ 29-8-文件和目录操作中.mp4
3 t& Q( n. s+ ?6 c% [1 M│ 29-9-文件和目录操作下.mp4
- p3 h4 z6 Z9 b! @* w│ 29-10-用户操作命令.mp4
' i# T \, t2 i: e/ v4 I K│ 30-1-搜索命令.mp41 A) \) X5 F# `. ^
│ 30-2-权限操作命令.mp4* B1 ^8 ]% N8 H) h: M
│ 30-3-进程操作命令.mp4) l" \2 g, l. g' B$ y
│ 30-4-网络操作相关命令.mp4$ i2 G7 z! D) e' m5 Y* Y- Y, |9 Y
│ 30-5-解压缩命令.mp4) @9 D+ E X: X1 N' a
│ 30-6-ssh连接命令.mp4) T! J& @- I6 w7 b1 g W5 B
│ 30-7-rpm和源码编译安装命令.mp4
6 c# r: V) r! ?, {, e) t│ 31-1-工具介绍和环境安装.mp4
6 N8 Z: X; w) I; U! e│ 31-2-工具界面介绍.mp4! R6 D1 ~$ ?1 I# ~8 Z
│ 31-3-连接设备.mp4
4 ?3 K' e1 @0 n9 ?2 ]" F│ 31-4-点击APP和运行查看报告.mp4
+ f. c$ g+ i2 j/ a$ d) } ^3 }│ 31-5-图片识别规则设置.mp4" _4 |8 c/ e% ]
│ 31-6-注释方法.mp4, x* F( `- `* t4 S) U, F( n1 h
│ 31-7-text api的使用.mp4
7 W& [4 w# y) w# i" `& n, o* V│ 31-8-wait api的使用.mp4
. m4 d" \/ s* B/ h, Y; W$ K& o│ 31-9-swipe.mp4
9 F! V' O, x# {) Z│ 31-10-keyevent.mp46 {$ d$ j" l8 `! P; U# F
│ 32-1-Airtest-snapshot和sleep.mp41 C' K1 Y; ]$ w
│ 32-2-exist.mp4: ^# M8 q6 e2 u Z- R
│ 32-3-assert_exist和assert_not_exist.mp4. w4 F- w% c* u6 l y6 z: S
│ 32-4-asser_equal和assert_not_equal.mp4
9 u) c; _; g9 U2 L$ d; c│ 32-5-android APP自动化实战.mp4
$ }) ^' E- F/ L/ |│ 32-6-webUI自动化环境准备和原理介绍.mp4
; t0 s# @5 V, z: e! y│ 32-7-web自动化启动浏览器和start-web.mp4
9 R3 K0 F& M1 p8 l│ 32-8-web自动化touch操作.mp4# f' d# H0 U; T4 S" |( Q6 r7 i
│ 32-9-web自动化text操作.mp4
8 W. o; Z* G {│ 32-10-web自动化assert和snapshot操作.mp43 u/ S- M4 Z4 ?$ ~, Q
│ 33-1-web- airtest_touch操作和assert_template.mp4' A' x5 o1 V1 O, x# B1 S. [ X8 z
│ 33-2-web自动化tab切换和back-forward.mp4: d8 }- b7 O! t3 n0 Q
│ 33-3-web自动化测试图像识别缺陷.mp43 G" m3 O3 J4 i6 y( ^
│ 33-4-web自动化项目实战.mp46 _' L1 M6 n1 `; N! Z5 @/ n# |5 I
│ 33-4-安装Java(JDK).mp4
{ c1 ?& N& H! N8 z+ u" t│ 33-5-web自动化命令行运行脚本.mp4
$ h, P+ ^& p; }3 S/ X1 S│ 33-5-安装安卓环境.mp4
+ u9 b: A9 k' u( \. J% t/ H7 R│ 34-1-课程介绍.mp4+ x. ]2 d& b k# `7 c8 U I/ R
│ 34-2-Appium服务安装.mp4
5 y5 i8 t7 z+ x/ |0 o0 g│ 34-3-安装Appium.mp4/ Q9 k+ @+ k1 ?1 [ S, ^
│ 34-6-快速启动app.mp47 z# A6 D1 S1 h6 v3 s
│ 34-7-通过包名启动app.mp4: k! m" ]5 r7 Q8 T8 l, o
│ 34-8-启动参数.mp4
[& J' o2 P% a/ h0 L│ 34-9-一个完整的自动化脚本.mp4% N) r& ]# W7 Z! a& p" B3 p
│ 34-10-元素定位和查看页面.mp4
( i! J5 N6 L3 Q' \# p1 z│ 35-1-xpath元素定位介绍.mp4
0 K" E2 m) n7 k( X│ 35-2-xpath语法.mp4" p8 `' U! j$ c) {/ ]9 o
│ 35-3-xpath在app自动化的应用.mp4
+ C5 @8 w9 u$ I6 O│ 35-4-隐式等待.mp4
; v |! t. i7 N1 C│ 35-5-显性等待.mp41 q. y% [8 ?2 `' k
│ 35-6-快速进入指定页面.mp4; y6 {: M6 o, L% C1 L/ I
│ 35-7-用户输入.mp4 s4 X# V. C2 q4 ?; q1 o; d
│ 35-8-滑动操作.mp4
7 P) I! T. l5 |2 ^2 F7 X1 K1 U z│ 35-9-滑动操作的优化.mp4' w9 I3 z2 i) z
│ 35-10-app前台执行后台执行.mp44 Z! n% |( x; p3 S% `& |6 r
│ 36-1-keycode按键操作.mp4
- u3 z! H, y& ?│ 36-2-toast弹框处理.mp41 G- x' V8 S1 F) d. X
│ 36-3-认识webview网页.mp4$ z- y" `1 I& b6 v: I% @3 M
│ 36-4-webview测试代码编写.mp4$ [' \& \. ]- `! v8 w0 e
│ 36-5-pytest的作用.mp4+ x3 K1 a% W6 S0 u+ l
│ 36-6-pytest如何编写自动化用例.mp4
3 ?4 j( G. P3 b│ 36-7-pytest运行用例.mp4
3 t" B5 p1 S; j; J│ 36-8-pytest断言.mp4% Z' u$ k1 D, i9 a( l9 S- `
│ 36-9-生成测试报告.mp4
( G: x5 Q. G! f, ^! b│ 37-1-pytest用例参数化.mp4
( L% R( S& u( Y$ C│ 37-2-pytest_fixture.mp4
8 @# Z0 |; E7 e% Z8 u/ b; [$ e4 L% w│ 37-3-实战1:第一个测试用例.mp4
% g* G1 Y7 W, U) _9 g│ 37-4-实战2:引入用例断言.mp4
. c3 B) }; U. _. i│ 37-5-实战3:代码优化思路.mp4, |8 X! ]# @: q* Z* L9 X
│ 37-6-实战4:引入fixture.mp4
- _2 S# ~4 O8 A# d9 x│ 37-7-实战5:po模式和分层设计.mp4: K7 y/ j8 R/ G# X& r
│ 37-8-实战6:数据分离和数据驱动.mp4
! p3 _/ }$ _' m+ _- U5 P: h│ 37-9-实战7:数据驱动分组.mp47 @. \# T2 N' |
│ 37-10-实战8:将用例改成po模式.mp4
( P( p9 ^+ ]2 T( [* R' d│ 38-1-实战9:元素定位分层.mp4% G# Y7 J4 ]- K
│ 38-2-实战10:basepage.mp41 z D2 p( t, M, s# g' v
│ 38-3-实战11:basepage的使用.mp4
! ~5 V; ^% t3 o Y! B│ 38-4-实战12:basepage的封装.mp4
# k, |" ^8 m) A* E' v: J│ 38-5-实战13:分层思想的综合应用.mp4" K9 ^5 {2 i, W( C d# a
│ 38-6-实战14:分层-夹具使用.mp4
' w, ~. `# d, O1 x c* l! [8 u3 _' K│ 38-7-实战15:分层-元素定位层.mp4
- q/ V3 S& }, p( G& R) m8 W│ 38-8-实战16:分层-PO.mp4/ T- n; \$ y4 P0 A
│ 38-9-实战17:分层-测试用例编写.mp4
" X# `- ~' D; e1 T3 y" \│ 38-10-实战18:细节优化.mp4
- y; i' j6 x/ s│ 39-1-微信小程序测试.mp4
8 W! u( b) o5 |* X6 r│ 39-2-中文输入法和隐藏键盘.mp4; ~' q! e$ S# a+ y" _1 ?- {( U
│ 8 G" x+ ^- v) C8 P
└─52期 安装包+代码+笔记[全].zip8 b) r- v% b* B! h3 R2 l! V
( ]7 U# v4 A9 V7 E+ ~% h
) j/ L# Q8 G& r2 J
下载地址:alig&(2023 |
|