Python测试岗实战进阶,技能对标大厂P6+,年薪轻松40W+!

Posted 软件测试小dao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python测试岗实战进阶,技能对标大厂P6+,年薪轻松40W+!相关的知识,希望对你有一定的参考价值。

自2018年被评选为编程语言以来,Python在各大行业榜上一直是名列前茅。随着该变成语言的广泛使用,基于Python的自动化测试框架也应运而生,且不断发展与丰富。

而软件测试行业发展到现在,有几个显著的变化:

1、薪资结构显著提升

以BAT为代表的互联网大厂对中高级测试岗位要求几乎全部转为测试开发,通常年薪30W+起,年薪50W+—100W+也很常见,甚至超越同级别研发人员。

2、职业门槛显著提高

之前对于测试岗位只要会写测试用例,能部署环境、执行测试用例,并进行相应的bug跟踪和项目管理就可以了,现在却截然不同。

各种编程语言、一大堆技术工具和相关项目经验成为招聘必备要求。

3、测试岗招人困难

很多测试经理反馈,测试岗位招人越来越难。

传统测试人员受技术栈限制、疫情影响承受着求职困难甚至裁员压力,急需技术能力迭代升级。在这里插入图片描述
因此,在互联网业务快速迭代和持续交付/测试要求下,测试开发工程师需要不断的充电学习,找一个优秀、无私的“教练”是成功的关键,否则自己很难突破进阶,起码在段时间内是绝对不可能的。

这边我也分享一个自动化测试进阶的大神群 644956177 给大家,有需要的可以在群内向大神了解学习相关知识。

而在自动化测试进阶道路上,Tytest与CI可以说是重中之重,完全掌握好该阶段的所有能力,基本可以实现薪资涨幅10%-20%左右。

在这里插入图片描述
想当初,我再这块的学习也花了大工夫,就是为了实现薪资翻倍的目的,今天,就来和大家分享一下当时我学习fixture的路径。

1、什么是fixture

✔ fixture是在测试函数运行前后,由pytest执行的外壳函数;

✔ 它的作用是将一些非核心测试逻辑从测试函数分离出来,以便于其他测试函数使用,同时保持这些边缘逻辑的一致性;

✔ fixture中的代码可以进行定制,满足多变的测试需求,包括:包括定义传入测试中的数据集,配置测试前系统的初始状态,为批量测试提供数据源等等…

总起来说,fixture是pytest用户将测试前后进行预备、清理工作的代码分离出核心测试逻辑的一种机制。

2、fixture定义

通过一个例子来看下fixture的定义:

import pytest
@pytest.fixture()
 def cema1 ():
     return'小dao'
def test_1 (cema1):
   print (cema1)
if_name  =='_main_'
pytest.main (['-s'])

3、 fixture函数存放的位置

✔ 如果你希望fixture函数的作用域仅限于某个测试文件,那么将它写在该测试文件中;

✔ 如果希望fixture被多个测试文件共享,可以在公共目录下创建一个conftest.py文件,将fixture放在其中。

#./conftest.py配置的fixture
  import pytest
  
@pytest.fixture ()
  def cema2():
  return '小dao'
  
#./test_ for pytest.py读取
  conftest.py配置的fixture
    import pytest
     
 def test_1(cema2):
print (cema2)

if__name__== '__main__':

pytest.main (['-s'])

4、fixture执行和销毁的逻辑

下面查看一下fixture中关于setup与teardown的执行和销毁的逻辑:在这里插入图片描述
在这里插入图片描述

运行日志:

================= test session starts =============

platform win32 – Python 3.7.4, pytest-5.4.1, py-1.8.1, pluggy-0.13.1

sensitiveurl: .*

rootdir: D:\\PyProject\\pytestforclass

plugins: base-url-1.4.1, forked-1.1.3, html-2.1.1, metadata-1.8.0, selenium-1.17.0, variables-1.9.0, xdist-1.31.0

collected 4 items

test_for_pytest.py class外的setup-module:test_for_pytest

class外的setup-function:test_1

class外的测试用例1

.class外的teardown-function:test_1

class外的setup-function:test_2

class外的测试用例2

.class外的teardown-function:test_2

class内的setup_class:TestDemo

class内的teardown_method:test_cema1

class内的setup

这是class内的测试函数1

.class内的teardown

class内的teardown_method:test_cema1

class内的teardown_method:test_cema2

class内的setup

这是class内的测试函数2

.class内的teardown

class内的teardown_method:test_cema2

class内的teardown_class:TestDemo

class外的teardown-module:test_for_pytest

=================4 passed in 0.05s =============

从执行结果看到,测试函数被夹在中间,pytest将每一个fixture的执行分成SETUP和TEARDOWN两部分。

5、fixture传递测试数据

fixture非常适合存放测试数据,可以返回任何数据,尤其是针对接口测试的时候,需要传入很多组不同的测试数据的的情况。

6、fixture的作用范围

fixture包含一个叫scope(作用范围)的可选参数,用于控制fixture执行和销毁逻辑的频率。@pytest.fixture()的scope参数有4个值:function、class、module、session,默认为:function。

示例:scope='function’

函数级别的的fixture每个测试函数只需要运行一次。配置代码在测试用例运行之前运行,销毁代码在测试用例运行之后运行。

#./conftest.py配置的fixture
    import pytest
    
@pytest.fixture(scope='function ')
     def cema2():
     return  '小dao'

import pytest

#./test pytest.py调用配置的fixture
  def test_1(cema2):
   print (cema2)
   if__name__=='__ main':

  pytest.main (['-s'])

当然,这只是自动化测试进阶路上,其中一个重要的知识点。不能说学会了这个点就可以进阶,前期也需要对基础知识深层次的学习与巩固,让你能够在工作中运用得更熟练,这样才能万无一失。

在这里还是要推荐下我自己建的Python自动化学习群:644956177 ,群里都是学Python自动化测试的,小编欢迎你加入,大家都是测试开发党,不定期分享干货,包括我自己整理的一份2021最新的Python自动化资料。

而在我的进阶之路上,群里真的帮助了我很多很多,大神们都会积极的解答你的每一个疑惑,并且也能给到很多学习技巧和学习方法,在进阶的道路上都是很有帮助的。

以上是关于Python测试岗实战进阶,技能对标大厂P6+,年薪轻松40W+!的主要内容,如果未能解决你的问题,请参考以下文章

计算机专科生,毕业3年从小厂到阿里P6,想把我的进阶方法教给你

4年功能测试,我一进阶python接口自动化测试,跳槽拿了20k......

百度,腾讯,字节,阿里等一线大厂 Android 性能优化实战解析,Android 进阶必备技能!

2021最新Java学习路线,对标阿里P6

开发四年Java程序员斩获阿里P6岗,月薪40K+,靠的就是这两份文档!

新入职测试岗,我需要怎样快速熟悉项目业务?总结......