代码改变世界

自动化测试学习

2023-12-29 17:07  HQS_blog  阅读(12)  评论(0编辑  收藏  举报

一、web自动化

自动化落地:

1.分层处理 POM

   POM的核心思想:把重复的操作独立出去

 

2.报表

   生成allure报表的固定写法

   报表模块以及用例名称定制

 

 

 

3.pytest测试使用

 

 

 

4.其他

 4.1元组解包使用*

4.2使用yaml文件作为数据驱动

    安装PYyaml包: pip install PYyaml

    导入yaml使用;import yaml

    4.2.1读取yaml文件内容 ,,如图

with open('./lab1.yaml','r') as f:
   yaml_template = yaml.safe_load(f)

       写入yaml文件

yaml_dict = {
    "user": "general",
    "country": "China",
    "gender": "male",
    "address": "北京"
}
yaml_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'a.yml')
with open(yaml_dir, 'w', encoding='utf-8', ) as f:
    yaml.dump(yaml_dict, f)

 

4.3 js定位元素

4.4 元素等待

4.5 iframe切换、多窗口切换

4.6 鼠标、键盘操作

4.7 二维码处理、验证码处理

    验证码:使用图像识别的方式

4.8 上传文件

4.9 teardown 中包含的业务

       ① 关闭浏览器

       ② 测试数据恢复

 4.10 分布式

4.11 失败重跑机制

4.12 执行发送邮件

4.13 shell

4.14 使用excel作为数据驱动

4.15 fixture 预制、预设 

        作用:执行用例前的数据准备,执行后的数据销毁

4.16 钩子函数

执行用例之前先执行pytest_runtest_call,用例执行完执行pytest_runtest_teardown

    4.16.1 使用钩子函数完成截图拼视频录像的操作

 

 4.16.2.pytest生成测试报告的时候会调用这个函数,

①完成自动提交bug

②保存测试数据到数据库,作为测试平台的数据来源

 

4.17 将自动化测试作为界面操作

 

 4.18 等待操作

    注意:不要混合使用隐式和显式等待,这样会导致不可预测的等待时间

     ① 强制等待   --不能准确把握等待时间,影响代码执行效率

          sleep(5)   

    ② 隐式等待   

      优点:只需要设置一次,driver的整个生命周期的每个元素都会生效

      缺点:·有时候需要的元素已经加载出来了,但是程序会等待整个页面加载完成,才会执行下一步操作

                 ·需设置最大等待时长,如果设置的最大等待时长还未加载出来,仍会执行下一步,导致报错

    ③ 显式等待

EC模块

expected_conditions模块 使用

参考链接:https://blog.csdn.net/zyooooxie/article/details/84561783

 

4.19 读取excel中数据

 4.20 pytest知识

 

 4.21 jsonpath

   解决复杂嵌套字典类型数据

 

 

 

 

 

 

 

二、APP自动化

 

三、接口自动化

1. requests库

2. 加密接口处理

3. 操作数据库

4. 框架封装

 

四、git、jenkins

1.自动化脚本管理

2.docker+k8s

 

 

 

 

四、测试常见问题记录:

   为了讲究投入产出比,一般回归测试只做正向验证

   接口自动化比ui自动化更实用的点在于:1.接口自动化执行时间快 2.移动端、WEB端、APP端、小程序端一般都使用同一套接口,如果ui自动化需要开发多套,接口自动化一套就可以,投入产出比更高

 

 

1.挑选可自动化用例

 

 

 

 

 

=========================   更新中   =================================