08 2018 档案

摘要:前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击,学会使用键盘的快捷键操作,也能达到一样的效果。 之前讲过一篇Selenium2+python自动化7 阅读全文
posted @ 2018-08-30 23:05 上海-悠悠 阅读(3973) 评论(0) 推荐(1)
摘要:# 前言 doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试用例可以放在两个地方 - 函数或者方法下 阅读全文
posted @ 2018-08-30 20:29 上海-悠悠 阅读(5512) 评论(2) 推荐(0)
摘要:# 前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 # ini配置文件 pytest里面有些文件是非test文件 - pytest.ini pytest的主配置文件,可以改变pytest的默认行为 - conf 阅读全文
posted @ 2018-08-28 21:50 上海-悠悠 阅读(16533) 评论(8) 推荐(1)
摘要:前言 平常我们在用别人写好的python包的时候,在cmd输入xx h就能查看到帮助信息,输入xx p 8080就能把参数传入程序里,看起来非常酷。 本篇就来讲下如何在python代码里加入命令行参数,并且其它功能,能调用这个参数。 argv获取参数 Python 中也可以所用 sys 的 sys. 阅读全文
posted @ 2018-08-28 13:35 上海-悠悠 阅读(3642) 评论(0) 推荐(0)
摘要:# 前言 平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦。 fixture里面有个参数autouse,默认是Fasle没开启的,可以设置为True开启自动使用fixture功能,这样用例就不用每次都去传参了 阅读全文
posted @ 2018-08-27 09:14 上海-悠悠 阅读(9438) 评论(0) 推荐(1)
摘要:# 前言 当用例a失败的时候,如果用例b和用例c都是依赖于第一个用例的结果,那可以直接跳过用例b和c的测试,直接给他标记失败xfail 用到的场景,登录是第一个用例,登录之后的操作b是第二个用例,登录之后操作c是第三个用例,很明显三个用例都会走到登录。 如果登录都失败了,那后面2个用例就没测试必要了 阅读全文
posted @ 2018-08-23 20:35 上海-悠悠 阅读(6026) 评论(2) 推荐(0)
摘要:# 前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行。一个大项目自动化用例时,可以划分多个模块, 也可以使用标记功能,标明哪些是模块1用例,哪些是模块2的,运行代码时候指定mark名称运行就可以 # mark标记 1.以下用例,标记test_se 阅读全文
posted @ 2018-08-20 22:26 上海-悠悠 阅读(9940) 评论(9) 推荐(0)
摘要:前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登陆函数就行。 但是登录的账号不能写死,有时候我想用账号1去登录,执行用例1,用账号2去登录执行用例2,所以需要对 阅读全文
posted @ 2018-08-17 21:00 上海-悠悠 阅读(18505) 评论(7) 推荐(1)
摘要:# 前言 allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。 环境准备 - 1.python3.6 - 2.windows环境 - 3.pycharm - 4.pytest 阅读全文
posted @ 2018-08-15 21:11 上海-悠悠 阅读(8297) 评论(7) 推荐(3)
摘要:# 前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过,否则pytest应该跳过运行测试。 常见示例是在非Windows平台上跳过仅限Windows的测试,或跳过测试依赖于当前不可用的外部资源(例如 阅读全文
posted @ 2018-08-14 19:48 上海-悠悠 阅读(15414) 评论(2) 推荐(1)
摘要:# 前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed # assert pytest允许您使用标准Python断言来验证Python测试中的期望和值 阅读全文
posted @ 2018-08-13 20:33 上海-悠悠 阅读(14978) 评论(3) 推荐(2)
摘要:# 前言 命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行"pytest --html=report.html",这里面的”--html=report.html“就是从命令行传入的参数 对应的参数名称是html,参数值是report.html # conftest配置参数 1 阅读全文
posted @ 2018-08-13 20:04 上海-悠悠 阅读(12514) 评论(6) 推荐(1)
摘要:# 前言 pytest.mark.parametrize装饰器可以实现测试用例参数化。 # parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 ``` # content of test_expectation.py # coding:utf-8 import 阅读全文
posted @ 2018-08-10 21:41 上海-悠悠 阅读(16783) 评论(13) 推荐(0)
摘要:# 前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告。 # conftest.py 1.失败截图可以写到conftest.py文件里,这样用例运行时,只要检测到用例实例,就调用截图的方法,并且把截图存到html报告上 阅读全文
posted @ 2018-08-10 21:25 上海-悠悠 阅读(15920) 评论(21) 推荐(0)
摘要:# 前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告。兼容Python 2.7,3.6 # pytest-html 1.github上源码地址[【https://github.com/pytest-dev/pytest-html】](https://github.c 阅读全文
posted @ 2018-08-08 19:46 上海-悠悠 阅读(32431) 评论(4) 推荐(2)
摘要:# 前言 上一篇讲到fixture通过scope参数控制setup级别,既然有setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作。 这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作 # scope="module" 1 阅读全文
posted @ 2018-08-08 19:42 上海-悠悠 阅读(15807) 评论(10) 推荐(1)
摘要:前言 当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例。 或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例也就没必要去执行了,直接跳过就行,节省用例执行时间。 一、skip装饰器 skip装饰器一共有四个 阅读全文
posted @ 2018-08-07 20:08 上海-悠悠 阅读(2281) 评论(0) 推荐(0)
摘要:前言 遇到问题:document.getElementsByClassName(...)[0] is undefined 选择框如果是select标签的,可以直接用select专用的方法去定位点击操作。其它不是select选择框的时候,那就按正常操作步骤先点输入框,再点选项就行了。 可是有些选择框就 阅读全文
posted @ 2018-08-06 23:23 上海-悠悠 阅读(4802) 评论(0) 推荐(0)
摘要:前言 前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录,用例3需要先登录。很显然这就无法用setup和teardown来实现了。这就是本篇学习的目的,自定义测试用例的预置条件 阅读全文
posted @ 2018-08-01 20:57 上海-悠悠 阅读(32844) 评论(20) 推荐(7)