Raul2018

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

07 2018 档案

摘要:在前面的例子中我们一直使用quit()方法,其含义为退出相关的驱动程序和关闭所有窗口。除此之外,WebDriver还提供了close()方法,用来关闭当前窗口。例多窗口的处理,在用例执行的过程中打开了多个窗口,我们想要关闭其中的某个窗口,这时就要用到close()方法进行关闭了。 close() 关 阅读全文
posted @ 2018-07-31 08:56 Raul2018 阅读(498) 评论(0) 推荐(0) 编辑

摘要:自动化用例是由程序去执行的,因此有时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因。WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口。 脚本运行完成后打开E盘sli目录,就可以找到b 阅读全文
posted @ 2018-07-31 08:55 Raul2018 阅读(227) 评论(0) 推荐(0) 编辑

摘要:对于通过input标签实现的上传功能,可以将其看作是一个输入框,即通过send_keys()指定本地文件路径的方式实现文件上传。 创建upfile.html文件,代码如下: 通过浏览器打开upfile.html文件,功能如下图。 接下来通过send_keys()方法来实现文件上传。 阅读全文
posted @ 2018-07-30 11:42 Raul2018 阅读(120) 评论(0) 推荐(0) 编辑

摘要:有时我们会碰到下拉框,WebDriver提供了Select类来处理下拉框。 如百度搜索设置的下拉框,如下图: Select类用于定位select标签。 select_by_value() 方法用于定位下接选项中的value值。 阅读全文
posted @ 2018-07-30 11:35 Raul2018 阅读(130) 评论(0) 推荐(0) 编辑

摘要:在WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作。 tex 阅读全文
posted @ 2018-07-30 11:34 Raul2018 阅读(152) 评论(0) 推荐(0) 编辑

摘要:设置成功后即进入Jenkins主界面: 点击左上侧系统管理,进入Jenkins基本系统设置(主要是以下三块): 3 先进入“管理插件”模块安装必需的插件,以下是建议安装列表: 将本文附件中的插件放入Jenkins插件存放目录即可,如本文插件存放目录为:C:\Users\Administrator\. 阅读全文
posted @ 2018-07-27 14:47 Raul2018 阅读(168) 评论(0) 推荐(0) 编辑

摘要:操作环境:Windows 一、环境准备 1 安装JDK 本文采用jdk-8u111-windows-x64.exe; 2 配置tomcat 本文采用tomcat8,无需安装,配置JAVA_HOME及JRE_HOME环境变量即可; 3 安装maven 本文采用maven3.3.9,无需安装; 4 安装 阅读全文
posted @ 2018-07-27 11:17 Raul2018 阅读(156) 评论(0) 推荐(0) 编辑

摘要:From https://blog.csdn.net/vessalasd1/article/details/70142105 瀑布开发模式: 瀑布开发模式有以下显著的特点: 1.严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合测试,系统测试等。 使 阅读全文
posted @ 2018-07-27 09:28 Raul2018 阅读(4926) 评论(0) 推荐(1) 编辑

摘要:From http://openskill.cn/article/218 下面依次介绍8大持续集成工具 一、Hudson Hudson 是一个可扩展的持续集成引擎,主要用于: ]持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。[/ ]监控一些定时执行的任务。 阅读全文
posted @ 2018-07-27 09:14 Raul2018 阅读(5024) 评论(0) 推荐(0) 编辑

摘要:本文由Markdown语法编辑器编辑完成。 From https://blog.csdn.net/inter_peng/article/details/53131831 1. 持续集成的概念 持续集成(Continuous Integration)的概念有很多不同的版本,持续集成的出现是为了配合敏捷 阅读全文
posted @ 2018-07-27 09:13 Raul2018 阅读(2247) 评论(0) 推荐(0) 编辑

摘要:本节重点: ActionChains 类 context_click() 右击 double_click() 双击 drag_and_drop() 拖动 测试的产品中有一个操作是右键点击文件列表会弹出一个快捷菜单,可以方便的选择快捷菜单中的选择对文件进行操作(删除、移动、重命名),之前学习元素的点击 阅读全文
posted @ 2018-07-24 11:42 Raul2018 阅读(204) 评论(0) 推荐(0) 编辑

摘要:学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本。相信不少新手学习selenium 也是从IED 开始的。 IDE学习参考: 菜鸟学自动化测试(一) selenium IDE 借助IED 录制脚本 将脚本导出,保存为baidu.py ,通过python IDLE编辑 阅读全文
posted @ 2018-07-24 11:42 Raul2018 阅读(239) 评论(0) 推荐(0) 编辑

摘要:之前看乙醇视频中提到,selenium 的ruby 实现有一个小后门,在代码中加上$DEBUG=1 ,再运行脚本的过程中,就可以看到客户端请求的信息与服务器端返回的数据;觉得这个功能很强大,可以帮助理解webdriver的运行原理。 后来查了半天,python并没有提供这样一个方便的后门,不过我们可 阅读全文
posted @ 2018-07-24 11:41 Raul2018 阅读(202) 评论(0) 推荐(0) 编辑

摘要:本节重点: driver.get_cookies() 获得cookie信息 add_cookie(cookie_dict) 向cookie添加会话信息 delete_cookie(name) 删除特定(部分)的cookie delete_all_cookies() 删除所有cookie 通过webd 阅读全文
posted @ 2018-07-24 11:40 Raul2018 阅读(217) 评论(0) 推荐(0) 编辑

摘要:本节重点: l 键盘按键用法 l 键盘组合键用法 l send_keys() 输入中文运行报错问题 键盘按键键用法: 要想调用键盘按键操作需要引入keys包: from selenium.webdriver.common.keys import Keys 通过send_keys()调用按键: sen 阅读全文
posted @ 2018-07-24 11:39 Raul2018 阅读(173) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节重点 处理下拉框 switch_to_alert() accept() 下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再 阅读全文
posted @ 2018-07-24 11:38 Raul2018 阅读(106) 评论(0) 推荐(0) 编辑

摘要:本节重点: 控制滚动条到底部 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。 要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条 阅读全文
posted @ 2018-07-24 11:38 Raul2018 阅读(172) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节重点: 上传文件 文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,关键是思路。 上传过程一般要打开一个本地窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地窗口添加上传文件 阅读全文
posted @ 2018-07-24 11:37 Raul2018 阅读(361) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同步执行javaScript 脚本:JavaScript的执行。 *参数:适用任何JavaScr 阅读全文
posted @ 2018-07-24 11:36 Raul2018 阅读(120) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节知识点: 操作对象: · click 点击对象 · send_keys 在对象上模拟按键输入 · clear 清除对象的内容,如果可以的话 WebElement 另一些常用方法: · text 获 阅读全文
posted @ 2018-07-24 11:35 Raul2018 阅读(152) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节知识点: 多层框架或窗口的定位: switch_to_frame() switch_to_window() 智能等待: implicitly_wait() 对于一个现代的web应用,经常会出现框架 阅读全文
posted @ 2018-07-24 11:35 Raul2018 阅读(141) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节要解决的问题: 层级定位 场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们。 在实际的测试中也经常会遇到 阅读全文
posted @ 2018-07-24 11:34 Raul2018 阅读(122) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节要解决的问题: 如何定位一组元素? 场景 从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象, 这时候就需 阅读全文
posted @ 2018-07-24 11:33 Raul2018 阅读(141) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节知识点: 打印URL 将浏览器最大化 设置浏览器固定宽、高 操控浏览器前进、后退 打印URL 上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来。其实也没啥大用, 阅读全文
posted @ 2018-07-24 11:31 Raul2018 阅读(104) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 本节重点: 简单对象的定位 自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象。一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证 阅读全文
posted @ 2018-07-24 11:31 Raul2018 阅读(116) 评论(0) 推荐(0) 编辑

摘要:http://www.testclass.net/ 测试教程网,专业的selenium 学习网站。 为什么选python? 之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也相当受欢迎 阅读全文
posted @ 2018-07-24 11:28 Raul2018 阅读(189) 评论(0) 推荐(0) 编辑

摘要:在使用多线程之前,我们首页要理解什么是进程和线程。 什么是进程? 计算机程序只不过是磁盘中可执行的,二进制(或其它类型)的数据。它们只有在被读取到内存中,被操作系统调用的时候才开始它们的生命期。进程(有时被称为重量级进程)是程序的一次执行。每个进程都有自己的地址空间,内存,数据栈以及其它记录其运行轨 阅读全文
posted @ 2018-07-19 08:32 Raul2018 阅读(239) 评论(0) 推荐(0) 编辑

摘要:本节通过SQLite了解数据库操作 数据库支持 使用简单的纯文本只能实现有退限的功能,所需要引入数据库,完成更强大的功能,本节使用的简单数据库SQLite 。 SQLite 和PySQLite sqlite是非常著名的开源嵌入式数据库软件,它可以嵌入到其他程序中使用,并且提供SQL接口用来查询,非常 阅读全文
posted @ 2018-07-19 08:31 Raul2018 阅读(173) 评论(0) 推荐(0) 编辑

摘要:同样是《python基础教程(第二版)》的内容,只是后面内容学起来,相比前面会比较有趣,也更加实用,所以,将“基础”改为“进阶”。 python 电子书分享地址:http://yunpan.cn/Q2U87uGrNiTA3 本节讲文件的操作 打开文件 open函数用来打开文件,语法如下: open( 阅读全文
posted @ 2018-07-19 08:30 Raul2018 阅读(519) 评论(0) 推荐(0) 编辑

摘要:本节学习图形用户界面 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口。这里介绍wxPython : 下载地址:http://www.wxpython.org/download.php 根据自己的操作系统下载相应版本。 安装: 安装过程非常简单,以win7系 阅读全文
posted @ 2018-07-19 08:30 Raul2018 阅读(161) 评论(0) 推荐(0) 编辑

摘要:参考 虫师-博客 http://www.cnblogs.com/fnng/category 随笔分类相关文章 阅读全文
posted @ 2018-07-19 08:28 Raul2018 阅读(151) 评论(0) 推荐(0) 编辑

摘要:Python内置了许多非常有用的数据结构,比如列表(list),集合(set)以及字典(dictionary)。就绝大部分情况而言,我们可以直接使用这些数据结构。但是,我们通常还要考虑比如搜索,排序,排列以及筛选等这一类常见的问题。因此,本章的目的就是来讨论常见的数据结构和通数据相关的算法。此外,在 阅读全文
posted @ 2018-07-19 08:20 Raul2018 阅读(495) 评论(0) 推荐(0) 编辑

摘要:re模块包含对 正则表达式。本章会对re模块主要特征和正则表达式进行介绍。 什么是正则表达式 正则表达式是可以匹配文本片段的模式。最简单的正则表达式就是普通字符串,可以匹配其自身。换包话说,正则表达式’python’ 可以匹配字符串’python’ 。你可以用这种匹配行为搜索文本中的模式,并且用计算 阅读全文
posted @ 2018-07-18 16:53 Raul2018 阅读(155) 评论(0) 推荐(0) 编辑

摘要:迭代器 本节进行迭代器的讨论。只讨论一个特殊方法 __iter__ ,这个方法是迭代器规则的基础。 迭代器规则 迭代的意思是重复做一些事很多次 就像在循环中做的那样。__iter__ 方法返回一个迭代器,所谓迭代器就是具有next方法的对象,在调用next方法时,迭代器会返回它的下一个值。如果nex 阅读全文
posted @ 2018-07-18 16:52 Raul2018 阅读(198) 评论(0) 推荐(0) 编辑

摘要:模块 前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用: 模块是程序 任何python程序都可以作为模块导入。假设写如下程序,并且将它保存为以C:\python\hello.py 下面通过python解释器调用: 再来一次: 怎么这次没结果?因为导入模块并不意味着在导入进执行 阅读全文
posted @ 2018-07-18 16:52 Raul2018 阅读(182) 评论(0) 推荐(0) 编辑

摘要:python异常 python用异常对象(exception object)来表示异常情况。遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的 回溯(Traceback, 一种错误信息)终止执行: raise 语句 为了引发异常,可以使用一个类(Exception的子类)或者实例 阅读全文
posted @ 2018-07-18 16:51 Raul2018 阅读(270) 评论(0) 推荐(0) 编辑

摘要:魔法方法、属性 准备工作 为了确保类是新型类,应该把 _metaclass_=type 入到你的模块的最开始。 在这个两个类中NewType是新类,OldType是属于旧类,如果前面加上 _metaclass_=type ,那么两个类都属于新类。 构造方法 构造方法与其的方法不一样,当一个对象被创建 阅读全文
posted @ 2018-07-18 16:51 Raul2018 阅读(179) 评论(0) 推荐(0) 编辑

摘要:本章介绍如何将语句组织成函数,这样,可以告诉计算机如何做事。 下面编写一小段代码计算婓波那契数列(前两个数的和是第三个数) 因为赋完值fibs已经有两个数了(0,1),所以循环8次之后,列表有10个数,两个数相加等于第3个数。 是不是觉得应该由我们输入来控制打印多少个数?只用把程序小变一下就行了。 阅读全文
posted @ 2018-07-18 16:50 Raul2018 阅读(138) 评论(0) 推荐(0) 编辑

摘要:2013-04-26 00:11 by 虫师, 7289 阅读, 7 评论, 收藏, 编辑 创建自已对象就python非常核心的概念,事实上,python被称为面向对象语言,本章会介绍如何创建对象。以及面向对象的概念:继承、封装、多态。 多态: 可对不同类的对象使用同样的操作。 封装:对外部世界隐藏 阅读全文
posted @ 2018-07-18 16:50 Raul2018 阅读(160) 评论(0) 推荐(0) 编辑

摘要:列表 本节继续讨论列表不同元组和字符串的地方:列表是可变的(mutable) 可以改变列表的内容,并且列表有很多有用的、专门的方法。 List函数可以将一个字符串拆分成列表。 改变列表:元素赋值 例如,我们想对一个列表中的某个元素赋值。 删除元素 从列表中删除元素也很容易,使用dele语句来实现。 阅读全文
posted @ 2018-07-18 16:49 Raul2018 阅读(194) 评论(0) 推荐(0) 编辑

摘要:字符串基本操作 所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用,前面已经讲述的这些操作。但是,请注意字符串都是不可变的。 字符串的方法: 字符串从string 模块中“继承”了很多方法,这里只介绍一些特别有用的。 1、find find 方法可以在一个 阅读全文
posted @ 2018-07-18 16:49 Raul2018 阅读(119) 评论(0) 推荐(0) 编辑

摘要:学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事。 基本语句的更多用法 使用逗号输出 如果想要同时输出文本和变量值,却又不希望使用字符串格式化的话,那这个特性就非常有用了: 模块导入函数 从模块导入函数的时候,可以使用 import somemodule 或者 阅读全文
posted @ 2018-07-18 16:49 Raul2018 阅读(176) 评论(0) 推荐(0) 编辑

摘要:序列概览 Python 包含6 种内建的序列,这里重点讨论最常用的两种类型:列表和元组。 列表与元组的主要区别在于,列表可以修改,元组则不能。也就是说如果要根据要求来添加元素,那么列表可以会更好用;而出于某些原因,序列不能修改的时候,使用元组则更为合适。 在操作一组数值的时候,序列很好用。可以用序列 阅读全文
posted @ 2018-07-18 16:48 Raul2018 阅读(208) 评论(0) 推荐(0) 编辑

摘要:继续第一篇的内容,讲解,python的一些基本的东西。 注释 为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样。 在python 中用井号(#)表示注释。井号(#)右边的内存将不被程序执行。即使没有注释,也应该让代码本身易于理解。幸好!Python是一门出色的语言 阅读全文
posted @ 2018-07-18 16:43 Raul2018 阅读(235) 评论(0) 推荐(0) 编辑

摘要:安装与运行交互式解释器 在绝大多数linux和 UNIX系统安装中(包括Mac OS X),Python的解释器就已经存在了。我们可以在提示符下输入python命令进行验证(作者环境ubuntu) Ok ! 如果敲入python命令出现以上信息时,表明我们已经安装了python 环境。 如果没有安装 阅读全文
posted @ 2018-07-18 16:41 Raul2018 阅读(186) 评论(0) 推荐(0) 编辑

摘要:对于xpath元素定位,解决办法总结如下。 第一种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input") 第三种方法:通过元素索引定位 By.xpath("//input[4]") 第四种 阅读全文
posted @ 2018-07-10 15:55 Raul2018 阅读(360) 评论(0) 推荐(0) 编辑

摘要:代码如下(网上示例): #profile = webdriver.FirefoxProfile(r"C:\Users\Skyyj\AppData\Roaming\Mozilla\Firefox\Profiles\1rzh6139.default")profile = webdriver.Firefo 阅读全文
posted @ 2018-07-10 13:35 Raul2018 阅读(1124) 评论(0) 推荐(0) 编辑

摘要:这两天在玩python中selenium,遇到一个问题,就是鼠标移动到页面中某按钮或菜单,自动弹出二级菜单或下拉菜单,再自动点击其中的二级菜单或下拉列表。 首先,手工操作:打开母校的主页 http://www.uestc.edu.cn/,将鼠标移动到“学校概括”,自动弹出二级菜单,手工点击其中的“学 阅读全文
posted @ 2018-07-06 15:57 Raul2018 阅读(3073) 评论(0) 推荐(0) 编辑

摘要:引自 https://blog.csdn.net/Momorrine/article/details/79794146 1. 环境 操作系统 Win10 IDE Eclipse (Oxygen 4.7)+ PyDev 5.9.2 (JDK1.8) Python 3.5 Selenium seleni 阅读全文
posted @ 2018-07-04 16:52 Raul2018 阅读(4459) 评论(1) 推荐(2) 编辑