![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自动化测试
再看就是猪
这个作者很懒,什么都没留下…
展开
-
鼠标事件
click()可以模拟鼠标单击,但是现在web产品有了更多的交互,如鼠标右击、双击、悬停等操作,在webdriver中这些鼠标操作都封装在ActionChains类ActionChains提供了鼠标操作的常用方法:1.perform():执行所有ActionChains中存储的方法2.context_click():右击3.double_click():双击4.drag_and_drop...原创 2018-11-21 11:13:19 · 127 阅读 · 0 评论 -
批量执行测试模块
之前写的都是针对同一测试模块来展开的测试运行,现在来了解unittest单元测试框架提供的批量执行测试模块方法,官方称之为‘测试发现’。unittest单元测试框架支持简单的测试发现,即可以自动发现并执行给定目录下的满足规则的测试模块。为了更好地匹配测试模块,给定目录下所有的测试文件都必须是模块或者是能从工程的顶层目录导入的包,也就意味着所有的文件明必须是有效的标识符,同时目录下需要被执行的测试脚...原创 2019-03-06 17:58:05 · 501 阅读 · 0 评论 -
命令行模式执行测试用例
unittest框架支持命令行模式运行测试模块、类,甚至单独有效的测试方法。通过命令行模式可以传入任何模块名组合、有效的测试类或者测试方法的参数列表。详细使用方法见下面实例:1.通过命令行直接运行整个测试模块命令格式:python -m unittest test_module1 test_module2...实战步骤:(1)cmd下切换当前工作目录到python工程Calc目...原创 2019-03-01 16:22:38 · 1789 阅读 · 0 评论 -
测试用例
软件测试中最基本的组成单元是测试用例,unittest框架通过TestCase类来构建测试用例,并要求所有自定义的测试类都必须继承该类,它是所有测试用例的基类,传入一个测试方法名,将返回一个测试用例实例。TestCase的子类中实现测试用例的代码既可以单独运行,也可以和其他测试用例构成测试用力集,然后批量执行。TestCase作为unittest单元测试框架中测试单元的运行实体,单元测试脚本编...原创 2019-01-23 14:25:19 · 147 阅读 · 0 评论 -
忽略某个测试方法
在批量执行测试用例时,可能会遇到某些测试用例不需要执行,但又想保留测试代码,除了可以注释掉代码外,unittest框架提供了一个更简便的注解方法来忽略那些暂时不需要执行的测试用例,单元测试框架在执行框架中遇到被标上忽略的注解的用例时自动跳过。忽略测试用例分为无条件忽略和有条件忽略,详见代码。示例代码:import randomimport unittestimport syscl...原创 2019-02-14 16:04:34 · 509 阅读 · 0 评论 -
单元测试框架的使用
unittest框架拥有支持自动化测试、测试用例间共享setUp(实现测试前的初始化工作)和shutDown(实现测试结束后的清理工作)代码块,集合所有的测试用例并且将测试结果独立展示在报告框架中的特性,在一组测试中,通过unittest框架提供的类很容易支持它的这些特性。一、unittest框架的四个重要概念test fixture(测试固件) 一个test fixture代...原创 2019-01-22 10:46:47 · 734 阅读 · 0 评论 -
selenium RC和webdriver的实现原理
1.Selenium RC的实现原理selenium RC是selenium 的远程控制(又称selenium 1.0),实现原理如下图: selenium 1.0的自动化测试执行步骤如下:(1)测试人员基于selenium支持的编程语言编写好脚本程序(2)测试人员执行测试程序(3)测试脚本程序发送访问网站的H...原创 2019-01-21 14:30:56 · 380 阅读 · 0 评论 -
按照特定顺序执行测试用例
通过TestSuite类可以改变测试用例执行顺序。测试代码:在PyCharm中新建工程,工程构图如下: Calc.py文件class Calc(object): def add(self,x,y,*d): #计算加法 result = x + y for i in...原创 2019-01-25 15:55:10 · 2022 阅读 · 0 评论 -
测试集合
在自动化测试的执行过程中,通常会有批量运行多个测试用例的需求,此需求称为运行测试集合(Test Suit)。将功能相关的测试用例组合到一起称为一个测试用例集,unittest框架通过TestSuit类来组装所有的测试用例集。也就是说,使用测试集合可以同时执行同一.py文件中的多个测试用例类。加载测试集合步骤如下:(1)TestLoader(测试用例加载器)根据传入的参数获取相应的测试用例的...原创 2019-01-25 10:48:15 · 720 阅读 · 1 评论 -
selenium 模拟鼠标右键
当我用ActionChains方法时,会报以下错误: 不知道是什么问题问题已解决:是因为页面等待时间太短原创 2019-01-14 10:55:36 · 830 阅读 · 0 评论 -
实践过程中遇到的小问题(一)
一、元素定位,定位到了元素但是不跳转未设置等待时间 设置了隐式等待时间,还要再加显式等待时间 看看页面元素是否有frame或者iframe:driver.switch_to_frame(0),第几个frame框架括号里就写数字几 需要手写xpath进行定位二、下拉列表1.导入(此方法只适合select元素的,而不适合网页标签)from selenium.webdriver.s...原创 2019-01-02 15:41:49 · 1157 阅读 · 0 评论 -
WebElemnet接口常用方法
1.size:返回元素尺寸2.text:获取元素的文本3.get_attribute(name):获取元素属性4.is_displayed():设置该元素是否用户可见以百度首页为例:from selenium import webdriverdriver = webdriver.Firefox()driver.maximize_window()driver.implicitly_w...原创 2018-11-20 10:48:45 · 135 阅读 · 0 评论 -
设置元素等待
大多数web应用程序应用AJAX技术,浏览器加载页面时,页面元素可能并不是同时加载完成,这给元素定位增加了难度,可以通过元素等待改善这种问题一、显示等待显示等待使wbedriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutExecption)from selenium import webdriverfrom selenium.webdriver.comm...原创 2018-11-22 16:38:50 · 170 阅读 · 0 评论 -
获得验证信息
用的最多的验证信息为URL,TEXT,TITLE以百度为例from selenium import webdriverurl = "https://www.baidu.com/"driver = webdriver.Chrome()driver.get(url)driver.maximize_window()### 获取当前页面的titletitle = driver.title...原创 2018-11-22 10:09:11 · 143 阅读 · 0 评论 -
模拟键盘操作
以百度为例from selenium import webdriverfrom selenium.webdriver.common.keys import Keysdriver = webdriver.Chrome()driver.get("https://www.baidu.com/")driver.maximize_window()#输入框输入内容driver.find_e...原创 2018-11-21 15:21:54 · 1559 阅读 · 0 评论 -
常用的断言方法
断言表示为一些布尔表达式,编写代码时程序员总是会在某些特定点做出一些假设,来判断程序是否达到预期。断言为真时,表示达到预期,否则未达到预期。而对于自动化测试人员来说,借助断言能更好的检测对象是否满足测试期望。在单元测试过程中必须使用断言。unittest单元测试框架中的TestCase类提供了很多断言方法,便于检验测试是否满足预期结果,并能在断言失败后抛出失败的原因。 ...原创 2019-03-18 10:33:31 · 4121 阅读 · 0 评论