07 2015 档案

摘要:ActionChains 类: context_click() 右击 double_click() 双击 drag_and_drop() 拖动 鼠标的双击、右击、拖动等应该怎样写呢?例如右击: driver.find_elemen... 阅读全文
posted @ 2015-07-27 00:11 BruceLan 阅读(79) 评论(0) 推荐(0)
摘要:主要学习知识点: 键盘按键用法 键盘组合键用法 send_keys() 输入中文运行报错问题 一、键盘按键键用法: #coding=utf-8from selenium import webdriverfrom selenium.webdriver... 阅读全文
posted @ 2015-07-26 23:50 BruceLan 阅读(66) 评论(0) 推荐(0)
摘要:之前开发过一些Android APP,现在开始学习iOS开发,未来实际工作应该会用到,未雨绸缪。一、了解其系统层次架构其系统分层四层,其详细如下:第一层:Core OS第二层:Core Services第三层:Media第四层:Cocoa Touch二、开发平台组建其开发需要用的如下:三、动手实践可... 阅读全文
posted @ 2015-07-26 01:16 BruceLan 阅读(104) 评论(0) 推荐(0)
摘要:之前开发过一些Android APP,现在开始学习iOS开发,未来实际工作应该会用到,未雨绸缪。 一、了解其系统层次架构 其系统分层四层,其详细如下: 第一层:Core OS 第二层:Core Services 第三层:Media ... 阅读全文
posted @ 2015-07-26 01:16 BruceLan 阅读(50) 评论(0) 推荐(0)
摘要:写了很长一段时间的代码带不开了,因为Eclipse闪退了,蛋疼了。。。。查了很久,记得当时大概花了半天的时间才找出解决方案。做个小结,如下: 百度和谷歌好久,最终解决了,其大概几种方案为: 搜索各种博客各种空间,发现很多别人能够解决问题的答案对我却不适合... 阅读全文
posted @ 2015-07-24 00:27 BruceLan 阅读(69) 评论(0) 推荐(0)
摘要:写了很长一段时间的代码带不开了,因为Eclipse闪退了,蛋疼了。。。。查了很久,记得当时大概花了半天的时间才找出解决方案。做个小结,如下:百度和谷歌好久,最终解决了,其大概几种方案为:搜索各种博客各种空间,发现很多别人能够解决问题的答案对我却不适合。又慢慢查找,后来终于解决,现总结如下(真心不敢说... 阅读全文
posted @ 2015-07-24 00:26 BruceLan 阅读(104) 评论(0) 推荐(0)
摘要:Python中的一款专门IDE--PyCharm功能很强大,比Pydev好用一些,不过习惯因人而异。 下面总结下使用过程中的常用设置和快捷键。 一、常用设置和常用快捷键 1. pycharm默认是自动保存的,习惯自己按ctrl + s 的可以... 阅读全文
posted @ 2015-07-24 00:12 BruceLan 阅读(113) 评论(0) 推荐(0)
摘要:Python中的一款专门IDE--PyCharm功能很强大,比Pydev好用一些,不过习惯因人而异。下面总结下使用过程中的常用设置和快捷键。一、常用设置和常用快捷键1. pycharm默认是自动保存的,习惯自己按ctrl + s 的可以进行如下设置:1. file -> Setting -> Gen... 阅读全文
posted @ 2015-07-24 00:12 BruceLan 阅读(207) 评论(0) 推荐(0)
摘要:实际编程中必定要会遇到编码问题。 python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? ... 阅读全文
posted @ 2015-07-23 23:59 BruceLan 阅读(246) 评论(0) 推荐(0)
摘要:实际编程中必定要会遇到编码问题。python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordina... 阅读全文
posted @ 2015-07-23 23:58 BruceLan 阅读(119) 评论(0) 推荐(0)
摘要:一种是在线安装,一种是下载ZIP文件后自己手动安装。这里重点写离线安装。离线安装:直接到http://pydev.org/download.html 下载离线安装ZIP包。如果不想搞乱原版本的Eclipse,可以选择如下操作:在Eclipse安装目录下新建一个links文件夹。然后再在links文件... 阅读全文
posted @ 2015-07-23 23:30 BruceLan 阅读(114) 评论(0) 推荐(0)
摘要:一种是在线安装,一种是下载ZIP文件后自己手动安装。这里重点写离线安装。 离线安装: 直接到http://pydev.org/download.html 下载离线安装ZIP包。 如果不想搞乱原版本的Eclipse,可以选择如下操作: 在Eclipse安装目... 阅读全文
posted @ 2015-07-23 23:30 BruceLan 阅读(75) 评论(0) 推荐(0)
摘要:控制滚动条到底部 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。要操作的页面元素不在... 阅读全文
posted @ 2015-07-23 00:27 BruceLan 阅读(272) 评论(0) 推荐(0)
摘要:控制滚动条到底部有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景:注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条这里需要掌握一些... 阅读全文
posted @ 2015-07-23 00:26 BruceLan 阅读(144) 评论(0) 推荐(0)
摘要:处理下拉框switch_to_alert() accept()下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再定位到下拉框内里的选项。将下面的代码保存成html通过浏览器打开会看到一个最简单常见的下拉框,下拉列表有几个选项。... 阅读全文
posted @ 2015-07-23 00:15 BruceLan 阅读(154) 评论(0) 推荐(0)
摘要:处理下拉框switch_to_alert() accept() 下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再定位到下拉框内里的选项。 将下面的代码保存成html... 阅读全文
posted @ 2015-07-23 00:15 BruceLan 阅读(59) 评论(0) 推荐(0)
摘要:操作对象:·click点击对象·send_keys在对象上模拟按键输入·clear清除对象的内容,如果可以的话WebElement另一些常用方法:·text获取该元素的文本·submit提交表单·get_attribute获得属性值==================================... 阅读全文
posted @ 2015-07-22 23:33 BruceLan 阅读(124) 评论(0) 推荐(0)
摘要:操作对象: · click 点击对象· send_keys 在对象上模拟按键输入· clear 清除对象的内容,如果可以的话 WebElement 另一些常用方法: · text 获取该元素的文本· submit 提交表单· get_attribut... 阅读全文
posted @ 2015-07-22 23:33 BruceLan 阅读(51) 评论(0) 推荐(0)
摘要:UI自动化离不开前端技术。JS可以做selenium 做不到的事情,但是在什么样的自动化的时候才能(或必须)要JS帮忙,我还没遇到过。不过JS可以selenium完成更强大的功能,这是不容置疑的。的同学可以自己补充下相关知识:http://www.w3scho... 阅读全文
posted @ 2015-07-22 00:06 BruceLan 阅读(66) 评论(0) 推荐(0)
摘要:UI自动化离不开前端技术。JS可以做selenium做不到的事情,但是在什么样的自动化的时候才能(或必须)要JS帮忙,我还没遇到过。不过JS可以selenium完成更强大的功能,这是不容置疑的。的同学可以自己补充下相关知识:http://www.w3school.com.cn/js/index.as... 阅读全文
posted @ 2015-07-22 00:06 BruceLan 阅读(228) 评论(0) 推荐(0)
摘要:多层框架或窗口的定位: switch_to_frame()switch_to_window() 智能等待: implicitly_wait() 经常会出现框架(frame) 或窗口(window)的应用,给我们的定位带来了一个难题。 有时候我们... 阅读全文
posted @ 2015-07-21 23:29 BruceLan 阅读(102) 评论(0) 推荐(0)
摘要:多层框架或窗口的定位:switch_to_frame()switch_to_window()智能等待:implicitly_wait()经常会出现框架(frame)或窗口(window)的应用,给我们的定位带来了一个难题。有时候我们定位一个元素,定位器没有问题,但一直定位不了,这时候就要检查这个元素... 阅读全文
posted @ 2015-07-21 23:28 BruceLan 阅读(262) 评论(0) 推荐(0)
摘要:一、场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们。 在实际的测试中也经常会遇到这种问题:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个。由... 阅读全文
posted @ 2015-07-21 23:18 BruceLan 阅读(110) 评论(0) 推荐(0)
摘要:一、场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们。在实际的测试中也经常会遇到这种问题:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个。由于属性基本相当,所以在定位的时候会有些麻烦,这时候... 阅读全文
posted @ 2015-07-21 23:17 BruceLan 阅读(183) 评论(0) 推荐(0)
摘要:一、场景webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用findElements方法。定位一组对象一般用于以下场景:·批量操作对象,比如将页面上所有的checkbox都勾上·先获取一组对象,再在这组对象中过滤出需要具... 阅读全文
posted @ 2015-07-21 23:03 BruceLan 阅读(149) 评论(0) 推荐(0)
摘要:一、场景 webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用findElements方法。 定位一组对象一般用于以下场景: · 批量操作对象,比如将页面上所有的check... 阅读全文
posted @ 2015-07-21 23:03 BruceLan 阅读(60) 评论(0) 推荐(0)
摘要:webdriver提供了一系列的对象定位方法,常用的有以下8种: · id· name· class name· link text· partial link text· tag name· xpath· css selector 以一个在百度首页... 阅读全文
posted @ 2015-07-21 22:33 BruceLan 阅读(59) 评论(0) 推荐(0)
摘要:webdriver提供了一系列的对象定位方法,常用的有以下8种:·id·name·classname·linktext·partiallinktext·tagname·xpath·cssselector以一个在百度首页输入selenium这个操作来,看看能采用什么定位方式,其效果截图如下:其代码定位... 阅读全文
posted @ 2015-07-21 22:33 BruceLan 阅读(144) 评论(0) 推荐(0)
摘要:一、简单的一个selenium+webdriver+python脚本 # coding = utf-8from selenium import webdriverbrowser = webdriver.Firefox()browser.get("http:... 阅读全文
posted @ 2015-07-21 22:25 BruceLan 阅读(56) 评论(0) 推荐(0)
摘要:一、简单的一个selenium+webdriver+python脚本# coding = utf-8from selenium import webdriverbrowser = webdriver.Firefox()browser.get("http://www.baidu.com")browse... 阅读全文
posted @ 2015-07-21 22:24 BruceLan 阅读(103) 评论(0) 推荐(0)
摘要:运行Selenium代码,浏览器打开报:Plugin Container for firefox已停止工作。据了解这个是插件不兼容,可能是Flash或者其他插件等兼容性问题。情况如下图: 解决办法如下: 该扩展是为了保证插件稳定运行而存在的辅助进程,... 阅读全文
posted @ 2015-07-17 17:34 BruceLan 阅读(246) 评论(0) 推荐(0)
摘要:运行Selenium代码,浏览器打开报:Plugin Container for firefox已停止工作。据了解这个是插件不兼容,可能是Flash或者其他插件等兼容性问题。情况如下图:解决办法如下:该扩展是为了保证插件稳定运行而存在的辅助进程,出现此问题多半是因为某个插件冲突或安装异常所致。比较常... 阅读全文
posted @ 2015-07-17 17:33 BruceLan 阅读(581) 评论(0) 推荐(0)
摘要:最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理。在前一篇blog里已经解释过了WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native supp... 阅读全文
posted @ 2015-07-16 00:20 BruceLan 阅读(135) 评论(0) 推荐(0)
摘要:最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理。在前一篇blog里已经解释过了WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。所以对于不同平台,不同... 阅读全文
posted @ 2015-07-16 00:20 BruceLan 阅读(117) 评论(0) 推荐(0)
摘要:实体是client端,remote server端,client端即我们的自动化脚本可以通过driver启动一个浏览器作为remote server端。 过程:请求-操作-响应。 揭秘webdriver实现原理 通过研究sele... 阅读全文
posted @ 2015-07-16 00:16 BruceLan 阅读(70) 评论(0) 推荐(0)
摘要:实体是client端,remote server端,client端即我们的自动化脚本可以通过driver启动一个浏览器作为remote server端。过程:请求-操作-响应。揭秘webdriver实现原理通过研究selenium-webdriver的源码,笔者发现其实webdriver的实现原理并... 阅读全文
posted @ 2015-07-16 00:16 BruceLan 阅读(124) 评论(0) 推荐(0)
摘要:一、分层自动化测试传统的自动化测试更关注的产品UI层的自动化测试,而分层的自动化测试倡导产品的不同阶段(层次)都需要自动化测试。为什么要画成一个金字塔形,则不是长方形或倒三角形呢?这是为了表示不同阶段所投入自动化测试的比例。如果一个产品从没有做单元测试与接口测试,只做UI层的自动化测试是不科学的,从... 阅读全文
posted @ 2015-07-15 16:20 BruceLan 阅读(259) 评论(0) 推荐(0)
摘要:一、分层自动化测试 传统的自动化测试更关注的产品UI层的自动化测试,而分层的自动化测试倡导产品的不同阶段(层次)都需要自动化测试。 为什么要画成一个金字塔形,则不是长方形 或倒三角形呢? 这是为了表示不同阶段所投入自动化测试的比例。如果一个产品从没有做... 阅读全文
posted @ 2015-07-15 16:20 BruceLan 阅读(104) 评论(0) 推荐(0)
摘要:unittest在Python单元测试中很常见,下面借助IDE录制的脚本并导出来分析它的框架。在百度首页输入selenium,空格,删除空格,然后回车搜索,录制如下:将录制完的脚本导出,另存为baidu_test.py打开另存为的脚本,其内容如下:# -*- coding: utf-8 -*-fro... 阅读全文
posted @ 2015-07-15 00:35 BruceLan 阅读(210) 评论(0) 推荐(0)
摘要:unittest在Python单元测试中很常见,下面借助IDE录制的脚本并导出来分析它的框架。 在百度首页输入selenium,空格,删除空格,然后回车搜索,录制如下: 将录制完的脚本导出,另存为baidu_test.py 打开另存为的脚本... 阅读全文
posted @ 2015-07-15 00:35 BruceLan 阅读(118) 评论(0) 推荐(0)
摘要:Git系列的到来,SVN已经明显吸引力不足了,当然SVN有它人性化的一面。下面讲讲初步是用Git Clone代码到本地的简单使用:一、GitBash的安装这个教程很多,不在说明,可参考:http://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50... 阅读全文
posted @ 2015-07-14 15:29 BruceLan 阅读(117) 评论(0) 推荐(0)
摘要:Git系列的到来,SVN已经明显吸引力不足了,当然SVN有它人性化的一面。下面讲讲初步是用Git Clone代码到本地的简单使用: 一、GitBash的安装 这个教程很多,不在说明,可参考:http://jingyan.baidu.com/article/... 阅读全文
posted @ 2015-07-14 15:29 BruceLan 阅读(231) 评论(0) 推荐(0)
摘要:近期学习Selenium,学习和收集了一些资料,整理到博客上来。下面请看初步整理的Web UI自动化知识: 阅读全文
posted @ 2015-07-14 14:20 BruceLan 阅读(58) 评论(0) 推荐(0)
摘要:近期学习Selenium,学习和收集了一些资料,整理到博客上来。下面请看初步整理的Web UI自动化知识: 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文
posted @ 2015-07-14 14:19 BruceLan 阅读(119) 评论(0) 推荐(0)
摘要:Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换, Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件, 现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发 Jav... 阅读全文
posted @ 2015-07-12 17:13 BruceLan 阅读(195) 评论(0) 推荐(0)
摘要:Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换, Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件, 现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制... 阅读全文
posted @ 2015-07-12 17:13 BruceLan 阅读(139) 评论(0) 推荐(0)
摘要:第一步:安装Python:已配置过,此处省略。 第二步:安装Python的SetupTools:已配置过,此处省略。 第三步:安装Python的包管理工具 pip,有点类似SetupTools:已配置过,此处省略。 第四步:安装基于Python的Seleni... 阅读全文
posted @ 2015-07-12 16:37 BruceLan 阅读(56) 评论(0) 推荐(0)
摘要:第一步:安装Python:已配置过,此处省略。第二步:安装Python的SetupTools:已配置过,此处省略。第三步:安装Python的包管理工具 pip,有点类似SetupTools:已配置过,此处省略。第四步:安装基于Python的Selenium包打开DOS界面,进入到目录: C:\Pyt... 阅读全文
posted @ 2015-07-12 16:36 BruceLan 阅读(189) 评论(0) 推荐(0)
摘要:家族介绍 项目实际需要,开始学习Selenium。 Selenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命令来模拟用户操作,Selenium可以将这些命令转化成实际的HTTP请求在浏览器中运行 :(1)Selenium Core:支持DHTML的测试案例(效果类似数... 阅读全文
posted @ 2015-07-12 16:32 BruceLan 阅读(141) 评论(0) 推荐(0)
摘要:项目实际需要,开始学习Selenium。 selenium 也不是简单一个工具,而是由几个工具组成,每个工具都有其特点和应用场景。其框架如下图: Selenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命... 阅读全文
posted @ 2015-07-12 16:32 BruceLan 阅读(62) 评论(0) 推荐(0)
摘要:有时候不禁感叹:QA的工作就是这样,做得好是你的职责所在,做不好就得背锅等等。。你不做好还有其他选择吗???有时候,更是拿着卖白菜的工钱,操着卖白粉的心。。下面来吐槽下最近遇到的一些小事儿~~,顺便来个个人的自我阶段性总结。 一、背景 现在的团队都是新组过... 阅读全文
posted @ 2015-07-01 20:24 BruceLan 阅读(182) 评论(0) 推荐(0)
摘要:有时候不禁感叹:QA的工作就是这样,做得好是你的职责所在,做不好就得背锅等等。。你不做好还有其他选择吗???有时候,更是拿着卖白菜的工钱,操着卖白粉的心。。下面来吐槽下最近遇到的一些小事儿~~,顺便来个个人的自我阶段性总结。一、背景现在的团队都是新组过来做新的业务,团队不是很熟,流程相对不规范,时间... 阅读全文
posted @ 2015-07-01 20:23 BruceLan 阅读(251) 评论(0) 推荐(0)