selenium自学记录2014.12.26
现在还是有点病急乱投医的感觉,不知道到底该从何学起,到底怎么学
手头上有的资料是
《零成本实现Web自动化测试-基于Selenium和Bromine》
《Selenium测试实践-基于电子商务平台》
《Selenium.2.Testing.Tools.Beginners.Guide.2012..pdf》
《selenium2 python自动化测试.pdf》
等书
关于视频和简单的录制回放操作,大概都囫囵吞枣地看过了。可是有个问题,不知道我下载的selenium和firefox不匹配还是其他原因。我录制的脚本总是有问题,不能直接回放。刚录制完成回放第一遍就出错了。
比如登陆一个网易邮箱,在点退出的时候,selenese上直接是link=退出,这样在回放的时候立马就找不到了。
我用的是最新版的selenium ide(2.8.0)和firefox(34.0.5),不知道是不是因为它俩不匹配的原因导致的。
费了好大的功夫,慢慢摸索,自己修改,才勉强把第一个录制的脚本回放成功。如下图所示,密码部分隐去
waitForTitle和waitForPageToLoad都是我自己加进去的,否则不等页面加载完成它就会去找相关的元素,肯定是找不到的。
最后一个xpath的值是用firebug读出来的,因为我的火狐比较新,所以旧版的萤火虫也不兼容。好不容易才从火狐插件中心找了一个14年12月的firebug(2.0.7).这个版本确定是支持firefox 34.0.5的。

现在比较困惑的是:
selenium 2缺乏PDF资料,为什么它录制的任何脚本直接回放几乎都会出问题?
我从自己琢磨它开始,录制了N个脚本,回放时总是找不到录制时的元素,这是selenium ide的bug还是现在网站升级了,元素都变成动态的了?或者selenium和我的firefox不兼容导致的?难道我要回退到selenium 1.x和firefox 3.0去?
还有selenium录制完成后导出为各种语言的脚本。之前在公司试过了用python的脚本,跑起来和tcl的一样慢。有没有脚本可以兼顾容错性和速率,跑起来不要那么特别慢不行吗?
今晚先学到这吧。我决定照着《零成本实现Web自动化测试-基于Selenium和Bromine》先模仿里面的例子把邮箱相关的脚本调通,然后再一步步学。(万恶的GFW屏蔽了鸡妹儿——Gmail——害得我只能用网易家的126邮箱来演练)
selenium自学记录2014.12.26的更多相关文章
- selenium自学进度-2014.12.3
今天把小米系列的视频看到了倒数第二课 他讲得很好,只是我现在是看第一遍,回头还需要照着视频多练练. 成长的道路问题艰辛的,学习的道路问题孤独的,希望自己能够坚持下去. 不要让今天的努力白费,不能让未来 ...
- Eclipse 下载与安装(2014.12.26——by小赞)
Eclipse网站首页:http://www.eclipse.org/home/index.php Eclipse下载页网址:http://www.eclipse.org/downloads/ 步骤一 ...
- 微信小程序 - 接口更新记录以及解决方案(2018/12/26)
2018/8/17 - 背景音频需要在app.json添加requireBackGroundModes 2018/9/12 - 微信更改获取用户信息接口/获取位置等接口 - button 2018/1 ...
- [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装
[原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 ...
- 大型网站演化(转载 http://homeway.me/2014/12/10/think-about-distributed-clusters/)
0x01.大型网站演化 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 集群主要分为:高可用集群(High Availability Clu ...
- LAMP开发之环境搭建(2014.12.7在ubuntu下)
Ubuntu下搭建LAMP环境 前言:学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我搭建的是LAMP环境,即Linux.Apache ...
- app后端设计(11)-- 系统架构(2014.12.05更新)
个人认为,在小型的创业团队中,特别是以应用产品为主,在架构后台的时候,需要集中精力解决自身业务上的问题,不是花时间解决第三方已经解决的问题,简单点来说,就是能用第三方服务就使用第三方的服务.基于这个原 ...
- app后端设计(3)--短信,邮件,推送服务(2014.12.05更新)
在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面. (1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间. (2)短信方面 以前我 ...
- OPPO Developers Conference(2018.12.26)
时间:2018.12.26地点:北京国家会议中心
随机推荐
- Nginx、MySQL、PHP 编译安装
RHEL 7.0 编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14运行环境 准备篇: RHEL 7.0系统安装配置图解教程 http://www.jb51.net/os/192 ...
- C++的模板类:不能将定义与声明写在不同文件中
问题来源 今天看了orbslam2自带的第三方库DBoW2的TemplatedVocabulary.h文件,发现其中模板类的函数成员的定义与声明放在了同一个文件:同时发现,DBoW2的CMakeLis ...
- 《新标准C++程序设计》2.1-2.3(C++学习笔记3)
1.结构化程序设计的不足 程序=算法+数据结构 数据结构和变量相对应,算法和函数相对应,算法是用来操作数据结构的. 结构化程序设计中,函数和其所操作的数据结构,没有直观的联系.随着程序规模的增加,程序 ...
- java内存机制 垃圾回收
gc机制一 1.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存.java语言并不要求jvm有gc,也没有规定gc如何工作.不过常用的jvm都有gc,而且大多数gc ...
- 2020PHP面试-PHP篇
一.列举一些PHP的设计模式 单例模式:保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点. 工厂模式:定义一个创建对象的接口,但是让 ...
- Spring装配Bean的一些高级技巧
一.使用@Profile注解来实现在不同环境下创建不同的Bean 实现方式:将不同的Bean定义整理到对应环境的Profile中,当应用部署到不同的环境时(开发环境或者是QA环境或者是生产环境),激活 ...
- promise 核心 几个小问题
1.如何改变pending的壮体 抛出异常.pending变为rejected // throw new Error('fail') 内部抛出异常也这样 reason为抛出的error resol ...
- App开发(连接外部服务器)
第一步:导入httpClient第二步: 容许网络接口权限<uses-permission android:name="android.permission.INTERNET" ...
- HttpServletRequest 的常用属性说明
HttpServletRequest 的常用属性总是被窝遗忘,人老了记性就不好.所以做个笔记,方便以后查看. 测试地址:http://127.0.0.1:8080/Test/test getConte ...
- PAT Advanced 1135 Is It A Red-Black Tree (30) [红⿊树]
题目 There is a kind of balanced binary search tree named red-black tree in the data structure. It has ...