吐血整理,自动化测试场景处理(多场景覆盖)+解决方案


前言

1、添加时间等待
为什么要添加等待?
为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作

如何提高脚本执行的成功率?
添加等待时间

等待有哪几种?有什么区别?
强制等待(固定等待): time.sleep() — 一定要等待某个时间长度,才会进行下一个操作
缺点:不够灵活,代码大量重复

隐式等待:implicitlyWait() ---- 只用在定位元素,全局的等待方式;代码写在窗口最大化之后
优点:等待时间比较智能,如果元素没有找到,会抛出异常

显示等待:WebDriverWait()---- 等待某个条件成立,如果条件在规定时间内没有成立,会跑出异常

WebDriverWait().until(条件)

条件有哪些?
在expected_conditions模块中有各种条件

2、定位一组元素
找出所有元素的共同属性进行定位

find_elements() --- 返回的是一个列表

3、层级定位

driver.find_element_by_id(''***'').find_element_by_link_text(''***'')

4、框架的切换

Driver.swicth_to.frame()  # 切换到框架

Frame()
只能写iframe 的id或者name的属性值;写xpath的识别结果

5、多窗口处理

driver.switch_to.window()

6、下拉菜单
层级定位;
使用option元素中的属性进行定位;
使用xpath或者css中的绝对路径或者相对路径的方法进行选择;
定义一个下拉菜单对象,通过下拉选项的索引,文字,value属性的值进行选择;

7、文件上传
只要使用send_keys() 传入文件的路径

8、验证码
验证码的作用?
为了系统的安全,防止机器操作

如何处理验证码?
测试环境下:
去掉验证码;
设置万能验证码;
通过python代码处理;
如果只是登陆的时候有验证码,可以使用cookie进行绕过(也可以在线上环境下进行);
去数据库或者文件中取出验证码,然后进行判断;

9、cookie的处理
cookie的作用:存储用户信息及用户操作
cookie保存的位置:在客户端进行保存,不同的浏览器保存的位置不相同

cookie是时效性的
cookie信息的存储格式:key–value(键值对)
登陆前 打开首页,查看cookies ----->只有一条数据
登陆后 打开首页,查看cookies ----->只有三条数据
cookies的信息有区别,表明cookie记录了用户登陆的信息

10、js的使用
Js:javascript 是一种脚本语言
就是写好js脚本语言,然后使用python来执行

执行js有三种场景:

一种是在页面上直接执行js — 比如:控制浏览器的滚动条;
另一种是在某个已经定位的元素上执行js;
通过js修改元素的属性值;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功不是一蹴而就的,必须经过不断地努力和奋斗。坚持不懈、迎难而上,才能创造出属于自己的辉煌。不要放弃,勇往直前,只有不断进取,才能成就自己的梦想和事业。加油吧,你会成功的!

只有坚持不懈的努力,才能创造属于自己的辉煌。不要放弃追求,因为你无法预知下一秒钟会发生什么。每一天都是新的开始,为了梦想奋斗吧!

无论你现在所处的位置有多远,只要你有梦想和目标,就不要放弃奋斗。每一步努力都会让你离成功更近一步,坚持下去,你会发现自己跑得比别人更快。

猜你喜欢

转载自blog.csdn.net/x2waiwai/article/details/131210022