自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 1725 1

原创 Robot Framework经验谈 - 一个关键字在页面上导航(多次点击跳转)

一般写web自动化的时候都有个点击导航到目标页面的过程,本tip展示了一种简答有效率的办法。

2016-03-10 15:21:43 6461

原创 Robot Framework 经验谈 - SSHLibrary使用技巧

很多人曾经问道如何操控测试环境里的Linux机器,其实通过SSHLibrary可以做到和手工ssh到Linux主机执行一个或者命令或对端所在的脚本,并且把结果取回来用于进一步分析使用。安装 pip install robotframwork-sshlibrary登录方法密码登录或者ssh key登录均可(目标主机的~/.ssh/id_rsa)登出: 基本使用 高级使用 切换其他SSH

2016-02-05 10:14:00 8832 3

原创 Robot Framework 经验谈 - 撰写元素xpath表达式并且通过Chrome F12开发者工具进行验证

F12开发者工具有console标签,在期内执行命令可以交互性验证css或者xpath表达式效果假如一个xpath用$x(),将表达式用引号括起来放进去,回车执行命令,如果成功产生非空输出的匹配元素列表(可以点击自动框选定位、可以展开子元素查看),举例:$x("//table[@id='simpleWithNested']/tbody/tr/*")对于引

2015-05-31 23:30:34 3723

原创 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 15930 5

原创 Robot Framework 经验谈 - 将Teardown动作的收集分解到主体步骤中

无论test或者keyword能否pass,均有Teardown收拾残局,真是个好东西。只是当前的设计有些尴尬:只能写一个keyword,只能执行预先写好的。实际情况中往往需要在Teardown执行多个关键字,且不期望是预先静态写成而是根据测试用例的中间执行结果而定(比如login telnet应该是成功login才需要在Teardown中close connection)。也就是说,

2015-05-06 10:34:01 3375 1

原创 Robot Framework 经验谈 - 变量写入磁盘以及导入(序列化+持久化)

在Robot Framework中很容易进行变量到磁盘文件的导出和导入。一般可以存为.py文本文件,利用Import Variables关键字可以不用自己解析导入的文件。

2015-04-10 15:45:13 1226

原创 一个高性能无锁哈希表的实现

无锁哈希表(Lock-Free Hash Table)是多线程编程中的理想数据结构,但是实现以及使用都需要一定的技巧。博主对此做了一个巧妙的设计实现,本文于此首次阐述设计思想。 通过考察各种基于CAS原子操作的无锁数据结构实现,目前公认可实现无锁安全的数据结构是数组和单向队列。其他实现都一定程度上受到ABA问题的威胁。数组的实现相对于单向队列要简单,所以无锁hash table理想的选择是

2015-03-16 22:25:28 4664

原创 Robot Framework 经验谈 - 以太网底层抓包以及协议分析

对于某些没有web界面,没有windows界面的网络应用程序通信,有时候真的需要抓包分析和判断。Wireshark是一个Windows和Linux下都能抓包查看的工具,y

2014-04-20 15:19:19 4362

原创 Robot Framework经验谈 -- 将已有库运行为Remote库的例子

在目标机器上装好Python,RF以及你需要的库,比如

2014-04-14 21:37:03 2375

原创 现代x86计算机架构的性能瓶颈变化

过去40年,计算机处理器的速度增长一直遵循半导体技术演进的摩尔定律,折算为每年加快52%。然而,计算机内存运行方面的提速仅为每年9%,硬盘性能的提速平均每年只有6%。现在计算机内存的运行速度只有CPU速度的约400分之一,这导致数据读取延迟,形成“存储墙”。CPU一级、二级、三级缓存构成的台阶将二者相连,而台阶的容量决定了有多少待处理的数据能够站在台阶上。所以现代CPU的价格不再主要由CPU主频决

2014-04-01 09:29:52 1431

原创 Robot Framework经验谈 - Run Keyword If等内建关键字返回如何决定测试案例结果

一个案例结束,返回执行的状态一般有两种:成功还是失败, PASS/FAIL如果Run Keyword If 以及同类的关键字作为案例最后的执行关键字,如何判定案例执行结果是成功还是失败呢?官方文档对此只字不提,顶多是提到返回值而不是执行结果。下面做了个实验,把每行单独放在一个案例中,看案例的执行结果是成功还是失败。(下面的True或Fase可以加也可以不加单引号,不影响逻辑结果识别)

2014-04-01 09:00:49 14637

原创 Robot Framework经验谈 - 用AutoIt对付IE弹出的登陆窗口

一般通过Web UI进行基本认证,浏览器会弹出一个小窗口让用户输入用户名和密码。IE和其他浏览器不一样,它凭着和Windows操作系统的亲戚关系,用的是Windows的系统对话框而不是IE浏览器对话框。这个时候Selenium就无能为力了。但是Robot Framework有在关键字组成的步骤之间随意切换关键字底层库的巨大优点,可以马上调用AutoIt库的关键字进行系统对话框的处理,例

2014-03-30 11:54:24 5701

原创 Robot Framework经验谈 - 跨过证书错误页面

经常碰到浏览器停止在证书错误的报警页面上:有时候它又不出现,有时候又出现。要做到不空等且在出现的时候自动跳过,下面的代码可以解决。Skip Certificate Error Page If Present    [Arguments]    ${title}=Certificate Error: Navigation Blocked    ${skip_link}=id\=o

2014-03-30 11:16:54 2300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除