摘要:
一、背景 为了便于后续脚本的维护和管理,在创建文件时,我们需要在每个文件开头写一些注释。而PyCharm提供了这样的模板,在创建文件时自动添加头注释。 二、设置 打开PyCharm中的“设置”选项,然后依照下列路径,进入模板设置栏。如下: **File->settings->Editor->File 阅读全文
摘要:
一、fixture函数 在pytest中,Fixture是一种被特别对待的函数。当这个函数被标记成为Fixture后,我们就可以在测试函数中使用它了。fixture函数可以放在测试脚本中,但常用方法是将其放在conftest.py文件中。有两种方法来调用fixture函数,一种是@pytest.ma 阅读全文
摘要:
一、用例排序 pytest中用例之间的顺序默认是按文件名ASCLL码排序,文件内的用例默认是按照从上往下顺序执行。要改变用例的执行顺序,可以安装第三方插件pytest-ordering实现自定义用例顺序,由此可以解决用例的依赖问题。命令如下: pip install pytest-ordering 阅读全文
摘要:
在Web自动化时,为了提高UI自动化脚本的运行效率,在脚本前后准备好各种数据,可以利用接口自动化将准备条件做好。由此引出的问题是如何保持接口自动化和UI自动化的登陆状态。其本质就是接口自动化的cookie能顺利转成浏览器能识别的cookie。 一、浏览器cookie操作 1、获取cookie 通过以 阅读全文
摘要:
在web自动化测试过程中,需要定位闪退的toast提示信息时,有时因提示信息时间太短而无法定位,此时可以用以下两种方式进行有效定位。 一、设置Disabled JavaScript 1、打开chrome浏览器,访问被测试页面,在出现提示信息的操作之前按下F12,打开开发者工具。如图: 2、打开设置页 阅读全文
摘要:
一、脚本中设置超时退出 由于某些测试用例步骤长,执行时间比较久,为了防止程序长时间处于等待状态,浪费宝贵时间。为此,我们可以设置一个超时时间,当测试在指定的时间长度内没有完成(即使程序并没有“僵死”,只是处理得比较慢),测试会被强行终止。再此,需要安装一个插件pytest-timeout。如下: p 阅读全文
摘要:
当某个bug,修复优先级比较低,暂时不用修复。此时,改自动化用例运行时,肯定会报错,那么我们就可以用 @pytest.mark.xfail来标记,用例执行的结果会被标记为xfailed,而不是failed。 #test_xfail.py import pytest class TestMyCode: 阅读全文
摘要:
一、直接忽略 由于某些原因,系统存在bug,但该bug修复级别比较低。或者由于需求变更,导致原有的脚本无法成功执行,所以需要跳过用例。而pytest提供了@pytest.mark.skip方法,但是我们推荐@pytest.mark.skip(reason="XXX"),因为它标注了跳过的具体原因,用 阅读全文
摘要:
一、使用场景 自定义标签,可以标记测试用例,对测试用例进行分组,有利用对测试用例进行筛选。打标的方法@pytest.mark.XXX。比如:给用例打标为API,代表接口自动化的用例,如下所示: @pytest.mark.API 打标后,需要在pytest.ini文件中进行注册,否则会报warning 阅读全文
摘要:
一、背景 由于Selenium的运行需要浏览器的配合,而驱动浏览器需要对应浏览器版本的驱动webdriver,但如何维护这些webdirver就比较麻烦,原因如下: 1)计算机上可能根本就没有安装Chrome。 2)对于不同的操作系统,Chrome的安装路径不一样。 3)即使是相同的操作系统,Chr 阅读全文