既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
#####################################
# -*- coding: gbk -*-
from operations import Operations
from log import logger
from browser import Browser
from domain.jenkins import Jenkins
logger.info("测试场景3开始:创建一个job")
browser = Operations(Browser.start_chrome())
logger.info("测试前置条件:预先删除原有的同名job,job名字={job_name}")
# 准备一个Jenkins类的实例,用来做测试的各种准备工作
admin = Jenkins()
job_name = "场景3测试job"
# 不管job存在不存在,总之删一下试试,如果存在则删除掉,不存在则忽略
admin.delete_job(job_name)
# 快捷登陆
admin.login_jenkins(browser)
# 真正要测的场景开始
# 点击左侧新建item的链接来创建一个jenkins job
browser.click("css:a[href='/view/all/newJob']")
# 输入job名称
browser.input("id:name", job_name)
# 选择job类型
browser.click("css:li[class='hudson_model_FreeStyleProject']")
# 点击确定按钮
browser.click("id:ok-button")
# 点击保存按钮
browser.click("xpath://button[text()='保存']")
# 真正要测的场景完毕
#验证job是否创建成功
assert admin.check_if_job_existed(job_name),f"创建失败:job名称={job_name}"
# 关闭浏览器
browser.close()
logger.info("测试场景3结束")
运行结果,屏幕显示以下内容:
[2021-12-01 13:45:21.141879]测试场景3开始:创建一个job
[2021-12-01 13:45:21.141879]启动Chrome浏览器
[2021-12-01 13:45:22.368721]测试前置条件:预先删除原有的同名job,job名字={job_name}
[2021-12-01 13:45:22.590128]job=场景3测试job已删除
[2021-12-01 13:45:22.590128]浏览器打开url=http://localhost:8080/
[2021-12-01 13:45:22.787905]开始检查cookie是否还有效:
[2021-12-01 13:45:22.787905]启动Chrome浏览器headless模式
[2021-12-01 13:45:23.734861]浏览器打开url=http://localhost:8080/
[2021-12-01 13:45:23.998166]开始保存cookie到path=cookies.txt
[2021-12-01 13:45:23.998166]增加cookis={'httpOnly': False, 'name': 'screenResolution', 'path': '/', 'secure': False, 'value': '800x600'}
[2021-12-01 13:45:24.003202]增加cookis={'httpOnly': True, 'name': 'JSESSIONID.c1e2fbc7', 'path': '/', 'secure': False, 'value': 'node09x8lb1jyt3ez9l9d01jyqq7j42.node0'}
[2021-12-01 13:45:24.005148]保存cookie完毕
[2021-12-01 13:45:24.005148]浏览器打开url=http://localhost:8080/
[2021-12-01 13:45:24.155321]开始获取元素的文本,元素=xpath://div[@class='login']
[2021-12-01 13:45:24.155321]定位元素,使用定位语句=xpath://div[@class='login']
[2021-12-01 13:45:24.181251]完毕获取,文本= admin | 注销
[2021-12-01 13:45:24.186238]结果:cookie有效
[2021-12-01 13:45:26.200825]开始保存cookie到path=cookies.txt
[2021-12-01 13:45:26.200825]增加cookis={'httpOnly': False, 'name': 'screenResolution', 'path': '/', 'secure': False, 'value': '800x600'}
[2021-12-01 13:45:26.204822]增加cookis={'httpOnly': True, 'name': 'JSESSIONID.c1e2fbc7', 'path': '/', 'secure': False, 'value': 'node09x8lb1jyt3ez9l9d01jyqq7j42.node0'}
[2021-12-01 13:45:26.207807]保存cookie完毕
[2021-12-01 13:45:26.207807]浏览器打开url=http://localhost:8080/
[2021-12-01 13:45:26.325493]在元素='css:a[href='/view/all/newJob']'上执行鼠标点击
[2021-12-01 13:45:26.325493]定位元素,使用定位语句=css:a[href='/view/all/newJob']
[2021-12-01 13:45:26.469110]在元素='id:name'上输入文本=场景3测试job
[2021-12-01 13:45:26.469110]定位元素,使用定位语句=id:name
[2021-12-01 13:45:26.549892]在元素='css:li[class='hudson_model_FreeStyleProject']'上执行鼠标点击
[2021-12-01 13:45:26.549892]定位元素,使用定位语句=css:li[class='hudson_model_FreeStyleProject']
[2021-12-01 13:45:26.584799]在元素='id:ok-button'上执行鼠标点击
[2021-12-01 13:45:26.584799]定位元素,使用定位语句=id:ok-button
[2021-12-01 13:45:27.228078]在元素='xpath://button[text()='保存']'上执行鼠标点击
[2021-12-01 13:45:27.228078]定位元素,使用定位语句=xpath://button[text()='保存']
[2021-12-01 13:45:27.470430]job=场景3测试job存在,url=http://localhost:8080/job/%E5%9C%BA%E6%99%AF3%E6%B5%8B%E8%AF%95job/
[2021-12-01 13:45:27.470430]浏览器关闭当前窗口或tab
![img](https://img-blog.csdnimg.cn/img_convert/c6a1a1253e5c2570bcbeb7cc193f8316.png)
![img](https://img-blog.csdnimg.cn/img_convert/c1d28329963b997350af9ca2dbfbdaa8.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618608311)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**