- 博客(14)
- 收藏
- 关注
原创 Ubuntu无桌面进行Web浏览器测试
主要原理是利用xvfb提供的显卡帧缓冲区,让浏览器以为有桌面Install xvfb in ubuntu:sudo apt install xvfbcat > /etc/init.d/xvfb XVFB=/usr/bin/XvfbXVFBARGS=":99 -screen 0 1024x768x24 -fbdir /var/run -ac"PIDFILE=/var/run/
2017-09-21 11:12:14
1844
1
原创 Robot Framework经验谈 - 一个关键字在页面上导航(多次点击跳转)
一般写web自动化的时候都有个点击导航到目标页面的过程,本tip展示了一种简答有效率的办法。
2016-03-10 15:21:43
6541
原创 Robot Framework 经验谈 - SSHLibrary使用技巧
很多人曾经问道如何操控测试环境里的Linux机器,其实通过SSHLibrary可以做到和手工ssh到Linux主机执行一个或者命令或对端所在的脚本,并且把结果取回来用于进一步分析使用。安装 pip install robotframwork-sshlibrary登录方法密码登录或者ssh key登录均可(目标主机的~/.ssh/id_rsa)登出: 基本使用 高级使用 切换其他SSH
2016-02-05 10:14:00
8994
2
原创 Robot Framework 经验谈 - 撰写元素xpath表达式并且通过Chrome F12开发者工具进行验证
F12开发者工具有console标签,在期内执行命令可以交互性验证css或者xpath表达式效果假如一个xpath用$x(),将表达式用引号括起来放进去,回车执行命令,如果成功产生非空输出的匹配元素列表(可以点击自动框选定位、可以展开子元素查看),举例:$x("//table[@id='simpleWithNested']/tbody/tr/*")对于引
2015-05-31 23:30:34
3772
原创 Robot Framework 经验谈 - 在窗口间随意切换
Selenium 2中,Browser对应浏览器实例进程,Window对应标签页。当用Open Browser方法打开一个新的浏览器,这个浏览器下的各个标签页就构成了多个Window,每个Window都有一个window_info[]依次保存handle,id,name,title,url。Robot Framework的作者可能出于简化技术性使用的考虑,仅提供name,title,url之类
2015-05-07 15:47:45
16041
原创 Robot Framework 经验谈 - 将Teardown动作的收集分解到主体步骤中
无论test或者keyword能否pass,均有Teardown收拾残局,真是个好东西。只是当前的设计有些尴尬:只能写一个keyword,只能执行预先写好的。实际情况中往往需要在Teardown执行多个关键字,且不期望是预先静态写成而是根据测试用例的中间执行结果而定(比如login telnet应该是成功login才需要在Teardown中close connection)。也就是说,
2015-05-06 10:34:01
3459
原创 Robot Framework 经验谈 - 变量写入磁盘以及导入(序列化+持久化)
在Robot Framework中很容易进行变量到磁盘文件的导出和导入。一般可以存为.py文本文件,利用Import Variables关键字可以不用自己解析导入的文件。
2015-04-10 15:45:13
1254
原创 一个高性能无锁哈希表的实现
无锁哈希表(Lock-Free Hash Table)是多线程编程中的理想数据结构,但是实现以及使用都需要一定的技巧。博主对此做了一个巧妙的设计实现,本文于此首次阐述设计思想。 通过考察各种基于CAS原子操作的无锁数据结构实现,目前公认可实现无锁安全的数据结构是数组和单向队列。其他实现都一定程度上受到ABA问题的威胁。数组的实现相对于单向队列要简单,所以无锁hash table理想的选择是
2015-03-16 22:25:28
4907
原创 Robot Framework 经验谈 - 以太网底层抓包以及协议分析
对于某些没有web界面,没有windows界面的网络应用程序通信,有时候真的需要抓包分析和判断。Wireshark是一个Windows和Linux下都能抓包查看的工具,y
2014-04-20 15:19:19
4497
原创 现代x86计算机架构的性能瓶颈变化
过去40年,计算机处理器的速度增长一直遵循半导体技术演进的摩尔定律,折算为每年加快52%。然而,计算机内存运行方面的提速仅为每年9%,硬盘性能的提速平均每年只有6%。现在计算机内存的运行速度只有CPU速度的约400分之一,这导致数据读取延迟,形成“存储墙”。CPU一级、二级、三级缓存构成的台阶将二者相连,而台阶的容量决定了有多少待处理的数据能够站在台阶上。所以现代CPU的价格不再主要由CPU主频决
2014-04-01 09:29:52
1504
原创 Robot Framework经验谈 - Run Keyword If等内建关键字返回如何决定测试案例结果
一个案例结束,返回执行的状态一般有两种:成功还是失败, PASS/FAIL如果Run Keyword If 以及同类的关键字作为案例最后的执行关键字,如何判定案例执行结果是成功还是失败呢?官方文档对此只字不提,顶多是提到返回值而不是执行结果。下面做了个实验,把每行单独放在一个案例中,看案例的执行结果是成功还是失败。(下面的True或Fase可以加也可以不加单引号,不影响逻辑结果识别)
2014-04-01 09:00:49
14852
原创 Robot Framework经验谈 - 用AutoIt对付IE弹出的登陆窗口
一般通过Web UI进行基本认证,浏览器会弹出一个小窗口让用户输入用户名和密码。IE和其他浏览器不一样,它凭着和Windows操作系统的亲戚关系,用的是Windows的系统对话框而不是IE浏览器对话框。这个时候Selenium就无能为力了。但是Robot Framework有在关键字组成的步骤之间随意切换关键字底层库的巨大优点,可以马上调用AutoIt库的关键字进行系统对话框的处理,例
2014-03-30 11:54:24
5791
原创 Robot Framework经验谈 - 跨过证书错误页面
经常碰到浏览器停止在证书错误的报警页面上:有时候它又不出现,有时候又出现。要做到不空等且在出现的时候自动跳过,下面的代码可以解决。Skip Certificate Error Page If Present [Arguments] ${title}=Certificate Error: Navigation Blocked ${skip_link}=id\=o
2014-03-30 11:16:54
2369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人