随笔分类 - 自动化测试
摘要:1、pytest官方文档介绍,附图 def pytest_terminal_summary(terminalreporter, exitstatus, config): """Add a section to terminal summary reporting. :param _pytest.te
阅读全文
摘要:使用selenium启动浏览器遇到的问题汇总: 问题一:可以打开浏览器,但浏览器的地址栏一直显示:data; idea控制台报错:java.io.IOException: Invalid Status code=403 text=Forbidden SLF4J: Class path contain
阅读全文
摘要:前提:maven作为一个很受欢迎的脚手架工具,可以帮助我们快速配置在编写测试代码时所需的依赖,省去了一大堆配置工作。本篇文章的内容已默认下载并配置了maven工具,如需安装,可阅官方文档:https://maven.apache.org/install.html 一、pom.xml文件添加selen
阅读全文
摘要:一、django与fdfs文件系统的交互图 二、实战部分,自定义文件存储系统是很多个app都可以用到,所以放到公共工具类中;django默认文件存储是在本地的media文件下存放,所以需要修改django文件存储行为 # 修改django的文件存储系统,使用fastdfs文件系统存储文件 DEFAU
阅读全文
摘要:1、参数item是Item类的对象(实际它继承Node类),理解为测试用例执行时的调用项 class Node: """ base class for Collector and Item the test collection tree. Collector subclasses have chi
阅读全文
摘要:1、参数call是类CallInfo类的对象,理解为测试用例的执行结果(result)或失败(exception)收集在call参数中 @attr.s(repr=False) class CallInfo: """ Result/Exception info a function invocatio
阅读全文
摘要:1、生成(多个)对测试函数的参数化调用。实际上与装饰器pytest.mark.parametrize()作用一样(代码很挫,垃圾回收很滑稽) def pytest_generate_tests(metafunc): """ 根据测试配置或定义测试函数的类或模块中指定的值生成测试用例, 在测试用例参数
阅读全文
摘要:1、此钩子函数在测试用例运行的不同阶段(setup, call, teardown)都会被调用一次 def pytest_runtest_makereport(item, call): """ 返回一个_pytest.runner.TestReport类对象 每个测试用例执行后,制作测试报告 :pa
阅读全文
摘要:1、该插件作用于pytest的钩子函数上,可以获取到测试用例不同执行阶段的结果(setup,call,teardown) 2、可以获取钩子方法的调用结果(返回一个result对象)和调用结果的测试报告(返回一个report对象) @pytest.hookimpl(hookwrapper=True,
阅读全文
摘要:一、测试用例执行顺序(setup-call-teardown)。此钩子函数是在测试用例执行pytest_runtest_call()后被调用 作用:可以在每个测试用例运行完后对当前已执行完的用例或者下一个未执行的用例做一些操作 def pytest_runtest_teardown(item, ne
阅读全文
摘要:一、偶尔在编写接口自动化测试时,会出现一些warning警告信息,例如 warnings summary utils\myenum.py:14 E:\PycharmProjects\apiWeatherWSWeb\utils\myenum.py:14: PytestCollectionWarning
阅读全文
摘要:一、在测试用例所在的目录下的conftest.py文件中添加钩子函数pytest_collection_modifyitems(items)即可 def pytest_collection_modifyitems(items): """ 测试用例收集完成时,将收集到的item的name和nodeid
阅读全文
摘要:先来看一下error: ImportError while loading conftest 'e:\pycharmprojects\apitest\apitestphpwind\testcase\conftest.py'. ModuleNotFoundError: No module named
阅读全文
posted @ 2019-11-26 21:40
YouThIU
摘要:测试用例参数化传入的参数被fixture调用,需要使用到request.param 定义一个fixture,使用request.param接受用例参数化的数据。重点放在测试用例的parametrize装饰器上,第一个参数是参数化数据的名字,这个名字一定要与request.parma所在的fixtur
阅读全文
posted @ 2019-08-15 23:02
YouThIU
摘要:一、测试用例出现问题时,使用yield与request.addfinalizer()函数哪个好? 答:request.addfinalizer()函数会更好。当测试用例出现问题时,yield后面的teardown将不会被执行,而addfinalizer的teardown会被执行 二、setup出现问
阅读全文
posted @ 2019-08-13 16:30
YouThIU
摘要:与unittest中测试固件不同的是,unittest的测试用例类必须继承fixture类,才能在测试用例执行前和后去执行测试固件部分,测试用例类与测试固件类之间的继承就完成了属性之间的调用(self.attribute),在pytest的fixture中(基本都是@pytest.fixture装饰
阅读全文
posted @ 2019-08-13 12:15
YouThIU
摘要:一、测试固件(fixture)是在执行测试用例前执行(setup)和后执行(teardown)的代码块。pytest提供了两种方式,分别是setup_function,setup_class,setup_method,setup_module和@pytest.fixture()装饰器装饰自定义的测试
阅读全文
posted @ 2019-08-13 11:54
YouThIU
摘要:执行UI自动化测试脚本时,不仅可以在本地执行,也可以远程指定某计算机执行测试脚本,seleniumGrid为我们提供了这类服务,但还需要自己搭建环境。 一、本地计算机需要准备java环境和selenium-server-standalone-4.0.0-alpha-2.jar包,jar包主要开启本机
阅读全文
摘要:1、确保数据库编码是utf8编码。若不是,请将my.ini的client,mysql,mysqld三个字段下面添加default-character-set = utf8,这样可以永久改变在新建数据库时的编码时utf8。然后重新mysql服务,进入到数据库中,输入show variables lik
阅读全文
摘要:错误信息:UnicodeEncodeError: 'latin-1' codec can't encode character '\u5c0f' in position 31: Body ('小') is not valid Latin-1. Use body.encode('utf-8') if
阅读全文
浙公网安备 33010602011771号