Selenium篇实战--结合接口测试和图形界面测试_selenium可以测试页面的样子吗

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

关闭浏览器

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
[2021-12-01 13:45:27.523288]测试场景3结束


解说:


1.首先为什么要完善?因为之前的写法重跑会失败。


这次的测试场景很简单,在jenkins上创建一个名为"场景3测试job"的job,然后保存。但是之前实战012里写的脚本只能跑一次,再跑就会失败,因为跑完一次之后,就会创建出这个job,再重跑就会失败。


2.怎样解决重跑失败?跑之前删除同名job。


3.怎样删除同名job?调用jenkins 的rest api来删。


我之前就说了,一个脚本测一个场景。我用selenium测创建job的场景,这是因为我要测的是通过jenkins的图形界面创建一个job。而删除同名job只是这个测试场景的准备工作,准备工作完全没必要通过图形界面来做。因此,我通过调用jenkins rest api来做准备工作。


4.跑完之后怎么验证job是否创建成功了?调用jenkins 的rest api来验证。


同样道理,这个场景的验证也不需要通过图形界面来验证。


5.关于class Jenkins这个类。


设计了delete\_job这个用于删job的方法和check\_if\_job\_existed这个检查job是否存在的业务方法。


然后实现了jenkins的登陆鉴权。jenkins的鉴权是标准的http basic auth基础鉴权加上防止CSRF攻击的crumber issuer安全验证。在这个类里,要删除job,就要通过rest api的方式发送符合这两个机制要求的请求,调用才能成功。


另外,还把之前的登陆浏览器的方法login\_jenkins也移动到了这个类里,因此场景2也要做一点小修改。但我相信读者可以自己改好,此处不再赘述。


最后,请读者注意体会场景3中的api和图形界面操作混合调用的做法及其意义。正因为有了这种混合操作,我们才可以在单个脚本里聚焦于单个脚本的业务逻辑,我们才可以抛弃以前传统的页面对象模式。因为页面对象模式里定义的服务毫无意义,这些服务我们直接用rest接口实现即可。传统页面对象中,页面=服务+元素。而经过上面的解释,页面对象的服务封装毫无意义。同理,页面对象的元素封装也毫无意义。因为在我的脚本化思路下编写的脚本,并不需要重用元素。



![img](https://img-blog.csdnimg.cn/img_convert/bc1752ec3d1c04e5e5f1ffbd9530e031.png)
![img](https://img-blog.csdnimg.cn/img_convert/430d44bbb0a756c101b2ee44ad049f1d.png)
![img](https://img-blog.csdnimg.cn/img_convert/1b7094621ef3469fb7a68eb8d90ec606.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值