robotframework + selenium实现网站自动测试

标签: web python robotframework selenium test | 发表时间:2012-12-19 02:59 | 作者:charlee
出处:http://tech.idv2.com

本文参考: How to use RobotFramework with the Selenium Library

先来介绍下背景。 Selenium是个强大的自动化测试工具,可以手工编写或自动录制测试脚本,可以手工执行,也可以自动执行。而 robotframework是个通用的自动化测试框架。 robotframework-seleniumlibrary是robotframework的一个测试库,它可以集成Selenium,并提供一套简单易懂的语法用于书写测试用例(好处就是测试人员不用学任何编程语言也能写测试用例了)。

用这套工具能实现:

  • 无需学习编程语言即可编写测试脚本
  • 自动点击网站链接、输入文字、点击按钮、验证结果
  • 可以放在cron里每日自动执行
  • 自动生成测试报告
  • 对于fail的测试用例,保存输出结果并截图

下面是配置方法。操作系统用的是Ubuntu 12.04。

首先装个浏览器。

  $ sudo apt-get install firefox

然后要安装robotframework和robotframework-seleniumlibrary。

  $ sudo pip install robotframework
$ sudo pip install robotframework-seleniumlibrary

接下来要安装JRE以运行Selenium Server。

  $ sudo apt-get install default-jre

然后去 下载Selenium Server,文件名为 selenium-server-standalone-2.25.0.jar

如果你的服务器上没有图形界面,那么还要安装个X-server和窗口管理器(我选择了xfce4)。我原本打算使用Windows下的 WeirdX作为X-Server, 但Selenium报告说它不支持自动截图,只好装了个xorg。

  $ sudo apt-get install xorg
$ sudo apt-get install xfce4

这样环境就都配置好了。接下来我们写个小测试用例,保存成 google.txt。它仅打开Google首页并检查里面有没有’Google’字样。 (测试脚本参考 SeleniumLibrary Documentation。)

  *** Settings ***
Library  SeleniumLibrary  5  localhost

*** Test Cases ***
Google Homepage Should Contain Google
    Open Browser  http://www.google.com/  *firefox
    Page Should Contain  Google

那么如何运行测试呢?首先要启动X-server。如果你用ssh,那么务必回到控制台上(ssh不行)去启动X-server。

  $ startx

启动后如果xfce4没有自动启动,可以再执行如下命令:

  $ startxfce4

然后去shell里(可以是ssh的shell)执行如下命令以启动Selenium Server:

  $ export DISPLAY=localhost:0.0
$ java -jar selenium-server-standalone-2.25.0.jar

最后,换另一个shell执行测试:

  $ pybot google.txt
==============================================================================
Google
==============================================================================
Google Homepage Should Contain Google                                 | PASS |
------------------------------------------------------------------------------
Google                                                                | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  /home/charlee/code/cmstest/test/output.xml
Log:     /home/charlee/code/cmstest/test/log.html
Report:  /home/charlee/code/cmstest/test/report.html

测试结束后可以打开 report.html查看测试结果。

相关 [robotframework selenium 网站] 推荐:

robotframework + selenium实现网站自动测试

- - idv2
本文参考: How to use RobotFramework with the Selenium Library. Selenium是个强大的自动化测试工具,可以手工编写或自动录制测试脚本,可以手工执行,也可以自动执行. 而 robotframework是个通用的自动化测试框架. robotframework-seleniumlibrary是robotframework的一个测试库,它可以集成Selenium,并提供一套简单易懂的语法用于书写测试用例(好处就是测试人员不用学任何编程语言也能写测试用例了).

Selenium Grid简介与安装

- - CSDN博客互联网推荐文章
      很多敏捷团队已经使用了Selenium和Watir等 工具进行验收测试或用户接口测试. 这些工具通过驱动Web浏览器的方式反映用户体验,并且为测试那些使用DHTML和Ajax构建的动态接口提供强力支 持. 然而,随着更多的团队采纳类似的工具,他们发现,运行这一整套浏览器驱动的Web接口测试会花费很长时间,而导致构建太慢.

java模拟浏览器包htmlunit,selenium

- - BlogJava-首页技术区
发现一个很不错的模拟浏览器包htmlunit,它可以直接执行访问网站地址,并执行相应的JavaScript脚本;这个功能对于网站爬虫有很大的帮助,一些网站使用了ajax,如果使用简单的http访问只能抓到原始的html源码,但对于页面内执行的ajax却无法获取;使用这个包后,可以将执行ajax后的html源码一并抓取下来.

用 STAF+Selenium 实现并行的自动化测试框架

- - IBM developerWorks 中国 : 文档库
我们有很多理由去开展自动化测试的工作,例如自动化测试可以节省时间、简化手工测试、提高测试覆盖率等等,这也充分说明实现软件自动化是非常重要的. 自动化测试时一个很吸引人的技术问题是,对于不同的软件项目或多或少都要借助于自动化工具进行测试. 如今随着 Agile 开发模式逐渐的应用到各个开发测试团队,如何快速连续地交付产品对于开发和测试团队都成为一个很大的挑战.

自动化测试工具 Selenium WebDriver 入门教程

- - 行业应用 - ITeye博客
先要去官网( http://seleniumhq.org/download/)下载必需的文件: . Selenium IDE (专门用于 FireFox 测试的独立界面,可以录制测试步骤,但我更倾向于写代码做标准的功能测试). Selenium Server (可以输入指令控制、可以解决跨域的 js 问题,等到后面学到了再讲吧).

如何在无显示器的ubuntu下跑selenium

- - 操作系统 - ITeye博客
Selenium是一个web自动化测试框架. 用它可以实现web应用自动化测试. 不过,我不只是用它来做测试,我还用它从电子商务网站签到页面爬取javascript生成的或AJAX的内容. 作为程序员,我不满足于使用Selenium IDE来记录和重放宏记录. 那样很蹩脚,而且不适合部署到多台服务器.

Selenium Grid跨浏览器-兼容性测试

- - CSDN博客互联网推荐文章
Selenium Grid跨浏览器-兼容性测试. 这里有两台机子,打算这样演示:. 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.168.4.124. 另一台机子启动两个次节点hub,一个次节点浏览器为firefox,另一个浏览器为chrome (系统为windows),ip为:192.168.4.137.

[Python爬虫]使用Selenium操作浏览器订购火车票

- -
     一个会写Python的Oracle DBA. [Python程序]利用微信企业号发送报警信息. [Python爬虫]使用Python爬取静态网页-斗鱼直播.  [Python爬虫]使用Python爬取动态网页-豆瓣电影(JSON).  [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium).

[python爬虫] Selenium常见元素定位方法和操作的学习介绍

- - CSDN博客编程语言推荐文章
        这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法、鼠标操作、键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~.         前文目录:.          [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上).

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

- - CSDN博客推荐文章
前一篇文章" [python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID、用户名、微博数、粉丝数、关注数等. 微博信息:包括转发或原创、点赞数、转发数、评论数、发布时间、微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩:.