pytest接口自动化测试训练营考试

1.(单选)pytest环境安装,下面关于pytest安装方式说法正确的是(5分)
(正确答案)
选项A:本地有python环境,使用命令行安装,pip install pytest(正确答案)
选项B:本地没有配置python环境,使用命令行安装,pip install pytest
选项C:本地有python环境,使用命令行安装,pip uninstall pytest
选项D:通过命令安装 :pip install allure

2.(单选)下列哪个选项不是pytest执行用例结果的状态?(5分)
选项A:skipped
选项B:failed
(正确答案)
选项C:pending(正确答案)
选项D:passed

3.(单选)pytest运行测试用例,如何跳过某个用例,下面说法正确的是:(5分)
选项A:pytest -k
选项B:方法上面加上装饰器,@pytest.mark.skip,运行的时候不添加任何参数(正确答案)
选项C:方法上面加上装饰器,@pytest.mark.skip,运行的时候指定参数-k
选项D:方法上面加上装饰器,@pytest.mark.parametrize

4.(多选)使用Pytest运行测试用例,测试用例编写规则说法正确的是(5分)
选项A:方法和函数以test_开头(正确答案)
选项B:py文件以test_开头或者_test结尾(正确答案)
选项C:类以Test开头(正确答案)
选项D:类以test_开头

5.(多选)下列关于使用requests进行接口请求的描述,正确有哪些?(5分)

选项A:在发送GET请求时,可以使用params关键字参数为URL 的查询字符串提供数据(正确答案)
选项B:在发送GET请求时,可以使用data关键字参数向请求体中填充请求数据
选项C:在发送POST请求时,可以使用data关键字,以 application/x-www-form-urlencoded 表单方式发送数据(正确答案)
选项D:在发送POST请求时,可以使用json关键字,以application/json方式发送数据(正确答案)

6.(多选)下面几种pytest运行方式说法正确是?(5分)

选项A:执行当前目录下所有的用例:pytest.main()(正确答案)
选项B:执行test_param1.py下的带有str标签的用例:pytest.main([‘test_param1.py’, ‘-vs’,‘-k’, ‘str’])
选项C:执行test_param1.py下名称为test_dkej的测试用例:pytest.main([‘test_param1.py::test_dkej’,‘-vs’])(正确答案)
选项D:执行test_param1.py下的str标签:pytest.main([‘test_param1.py’, ‘-vs’,‘-m’, ‘str’])(正确答案)

7.(多选)运行pytest的测试用例可以用哪些方式(5分)

选项A:python -m pytest(正确答案)
选项B:python
选项C:pytest(正确答案)
选项D:allure

8.(多选)pytest运行测试用例,支持以下哪些参数(5分)

选项A:pytest --maxfail=num(正确答案)
选项B:pytest -s(正确答案)
选项C:pytest -x(正确答案)
选项D:pytest -k(正确答案)

9.(单选)下列关于 @pytest.mark 说法错误的是:(5分)
选项A:用例未写好需要跳过时,在方法上加 @pytest.mark.skip
选项B:执行标记了标签的用例在命令后加 -m=“标签名”
选项C:标记测试用例需要在方法上加 @pytest.marks.标签名(正确答案)
选项D:特殊情况下跳过用例,在方法上加 @pytest.mark.skipif

10.(单选)在pytest测试框架,下列说法正确的是?(5分)
选项A:setup_method/teardown_method,作用于函数级,类中的每个测试用例执行前后
选项B:setup_class/teardown_class,作用于类中,每个测试用例执行前后
选项C:setup_function/teardown_function,作用于方法级,类中的每个测试用例执行前后
选项D:setup/teardown,在类中,在测试用例的前后被调用(正确答案)

11.(单选)下面哪种方式能够实现参数化(5分)
选项A:测试方法体里面使用 for 循环就能实现参数化
选项B:测试方法体上面加上装饰器:@pytest.param()方法使用参数化
选项C:测试方法体上面加上装饰器:@pytest.mark.parametrize()方法使用参数化(正确答案)
选项D:测试方法体上面加上装饰器:@pytest.mark.xfail() 方法

12.(单选)下面关于使用python 语言结合 allure 生成测试,说法正确的是?(5分)

选项A:allure 可以集成到Jenkins 中生成测试报告的趋势图(正确答案)
选项B:allure 不需要信赖 Java 环境也能运行
选项C:allure 只能在 mac 和 windows上运行
选项D:allure 生成的html报告可以直接在浏览器中打开

13.(多选)使用 allure-pytest 插件生成 allure results 的结果目录中的文件格式包含哪些?(5分)
选项A:xml
选项B:json(正确答案)
选项C:text(正确答案)
选项D:har

14.(多选)下列哪些是常用的HTTP接口请求方法?(5分)

选项A:POST(正确答案)
选项B:ADD
选项C:GET(正确答案)
选项D:TRY

15.(多选)下面关于allure 说法正确的是?(5分)
选项A:allure 只支持python语言
选项B:allure 不需要结合单元测试框架使用
选项C:allure 可以生成在线版的测试报告(正确答案)
选项D:allure 在python中结合 pytest使用, 安装需要使用pip install allure-pytest(正确答案)

16.(多选)使用 allure 生成的测试报告,可以在报告中加入哪些内容格式?(5分)
选项A:HTML格式(正确答案)
选项B:视频(正确答案)
选项C:日志(正确答案)
选项D:图片(正确答案)

17.(多选)下列哪些技术可以用来解析HTTP响应报文?(5分)
选项A:fixture
选项B:xpath(正确答案)
选项C:jsonpath(正确答案)
选项D:allure

18.(单选)在pytest.ini文件中定义标签名称时,可以使用以下哪一个关键字?(5分)
选项A:markers(正确答案)
选项B:tag
选项C:remark
选项D:label

19.(多选)运行pytest 测试用例,生成allure 测试报告,下面命令正确的是?(5分)

选项A:pytest --alluredir ./result 可以自动生成一个result 的文件夹,里面包含了结果文件(正确答案)
选项B:allure --alluredir ./result 可以自动生成一个result 的文件夹,里面包含了结果文件
选项C:pytest serve ./result 可以分析 pytest 执行生成的结果,生成在线的测试报告
选项D:allure serve ./result可以分析pytest 执行生成的结果,生成在线的测试报告(正确答案)

(5分)
(多选)假设 r = requests.get(“https://www.ceshiren.com”),以下关于响应内容 ,正确的选项有哪些?(5分)
选项A:可以用 r.headers 来获取响应头信息(正确答案)
选项B:可以用 r.raw 来获取原始响应内容(正确答案)
选项C:可以用 r.content 来获取二进制的响应内容(正确答案)
选项D:可以用 r.text 来获取格式为json的响应内容