前言 在设计用例的时候,有些用例只是参数数据的输入不一样,比如登录这个功能,操作过程但是一样的。如果用例重复去写操作过程会增加代码量,对应这种多组数据的测试用例,可以用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成。 一、环境准备 1.安装ddt模块,打开cmd输入pip instal ...
分类:
编程语言 时间:
2018-05-06 13:37:08
阅读次数:
146
前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取到的结果用做断言。 本篇介绍另外一种方法去判断页面title是否与期望结果一种,用到上一篇Selenium2+python自动化42-判断元素(expected_conditions) 提到的expected_c ...
分类:
编程语言 时间:
2018-05-06 13:36:06
阅读次数:
226
前言 在定位元素的时候,经常会遇到各种异常,为什么会发生这些异常,遇到异常又该如何处理呢? 本篇通过学习selenium的exceptions模块,了解异常发生的原因。 一、发生异常 1.打开博客首页,定位“新随笔”元素,此元素id="blog_nav_newpost" 2.为了故意让它定位失败,我 ...
分类:
编程语言 时间:
2018-05-06 13:35:40
阅读次数:
325
前言 很多初学者在使用unittest框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行。 本篇通过最简单案例详细讲解unittest执行顺序。 一、案例分析 1.先定义一个测试类,里面写几个简单的case # coding:utf-8im ...
分类:
编程语言 时间:
2018-05-06 13:35:30
阅读次数:
199
前言 有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。 selenium的page_source方法很少有人用到,小编最近看api不小心发现这个方法,于是突发奇想,这里结合python的re模 ...
分类:
编程语言 时间:
2018-05-06 13:35:16
阅读次数:
185
前言 元素定位有八种方法,这个能看到这一篇的小伙伴都知道了,那么有没有一种方法,可以把八种定位合为一种呢?也就是把定位的方式参数化,如id,name.css等设置为一个参数,这样只需维护定位方式的参数就行了。 小编曾经自己封装过这种方法,最后定位方法写成这样:find_element("id=kw" ...
分类:
编程语言 时间:
2018-05-06 13:34:21
阅读次数:
184
我们在浏览网页时经常会碰到各种花样的弹窗,在做UI自动化测试的时候势必要处理这些弹窗,这里就介绍一下目前前端界两种弹窗的处理方法。 1.alert弹窗 这种弹窗是最简单的一种,Selenium里有自带的方法来处理它,用switch_to.alert先定位到弹窗,然后使用一系列方法来操作: accep ...
分类:
编程语言 时间:
2018-05-06 13:31:03
阅读次数:
254
前言 在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。 用unittest组件测试用例的时候,断言的方法还是很多的,下面介绍几种常用的断言方法:assertEqual、assertIn、assert ...
分类:
编程语言 时间:
2018-05-06 13:29:11
阅读次数:
202
前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录。 登录后换账号登录时候,也可作为后置条件去删除cookie然后下个账号登录 一、获取cookies:get_cookies() 1.获取cookies方法直接 ...
分类:
编程语言 时间:
2018-05-06 13:29:03
阅读次数:
154
前言 验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的。如果你能破解,说明你们公司的验证码吗安全级别不高,那就需要提高级别了。 对于验证码,要么是让开发在测试环境弄个万能的验证码,如:1234,要么就是尽量绕过去,如本篇介绍的添加cookie ...
分类:
编程语言 时间:
2018-05-06 13:28:55
阅读次数:
180