Web测试不再纠结,robot framework三驾马车之sikuli+selenium

上一篇 / 下一篇  2013-05-12 20:07:41 / 精华(1) / 个人分类:robot framework

模态对话框、activexflash等各种自定义控件处理起来是不是很头疼。Sikuli是一个根据图形匹配的测试工具,尤其是结合了selenium,基本上可以解决web测试上所有的技术问题。不知道sikuli的可以下载了先体验一下,IDE很简单,用截图也能做测试,但是这也不是本文介绍的重点。本文介绍在RFsikuli+selenium协同工作互补不足。所以本文仅针对在RF下selenium不能满足需求的使用者。如果你不懂sikuli,可以先了解一下,一种截图测试工具。

Sikulirobotframework集成

Sikuli只能jython调用,而在RF中,selenium库是python写的。所以要把sikuli当成一个远程库调用。jython没安装的,请参考前一篇日志http://www.51testing.com/index.php?uid-424226-action-viewspace-itemid-845458

Sikuli远程环境

1、 下载sikuli,并安装。这个不用说太多了吧。ps:sikuli只能在32位jdk6跑Java 7 or 64-bit are not supported 装完看到有sikuli_home的环境变量才算成功。

2、 创建一个测试文件夹[C:\robot] [C:\robot\data] [C:\robot\libs] [C:\robot\suites]

3、 下载文件http://robotframework.googlecode.com/hg/tools/remoteserver/robotremoteserver.py另存在[C:\robot\libs]文件夹内

4、 复制sikuli的安装目录下的C:\Program Files (x86)\Sikuli X\sikuli-script.jar[C:\robot\libs]文件夹内

5、 加上环境变量到class_path (C:\robot\libs\sikuli-script.jar).

6、 新建一个文件SikuliRemoteLibrary.py[C:\robot\libs]文件夹内(此文件在群GX可以下载Rf+sikuli+selenium例子.rar,

7、 运行sikuli远程库,如果你前面的环境是完全按照我的教程能运行jybot,那现在应该在命令行敲jython.bat C:\robot\libs\SikuliRemoteLibrary.py 如果出现robot framework remote server starting at localhost:8270 那就成功启动了sikuli远程库了。反之,好好检查环境变量吧,或者把sikuli-script.jar拖到 class_path 所在的目录。

Robot framrwork调用sikuli远程库,拿百度来说事吧。

很简答的例子,一个是调用selenium在百度输入selenium并搜索,另一个case是调用sikuli在百度输入selenium并搜索。

文档粘贴在本文最后,请复制并保存在[C:\robot\suites]。图片截图很简单,input.png是输入框的,请尽量截图让sikuli知道是唯一的。Submit.png是百度一下的按钮,截图放在[C:\robot\data]以上内容均可以加入群247870083去群共享取Rf+sikuli+selenium例子.rar

 

*** Settings ***

Documentation     Integrating Selenium, Sikuli into Robot Framework

Test Setup

Test Teardown     Run Keyword If Test Failed    Take Screenshot

Library           Selenium2Library    15    # Selenium library

Library           Remote    http://localhost:${port}    # Sikuli

Library           Screenshot    # Taking screenshots when a test fails

 

*** Variables ***

${url}            http://www.baidu.com    #百度网站

${browser}        ff    # Browser

${port}           8270    # Default port number for the remote server

${data_path}      c:\\robot\\data    # Sikuli images

${similarity}     0.90    # Used in Sikuli image comparison

${timeout}        10    # Time to wait for objects

 

*** Testcases ***

login To Baidu And Serch With Selenium

    [Tags]    selenium

   登录百度首页

   slenium的方式输入并点击搜索

    [Teardown]    close all browsers

 

login To Baidu And Serch With Sikuli

    [Tags]    sikuli

   登录百度首页

   sikuli的方式输入并点击搜索

 

*** Keywords ***

登录百度首页

    open browser    ${url}    ${browser}

    maximize browser window

 

slenium的方式输入并点击搜索

    input text    wd    selenium

    click button    kw

 

sikuli的方式输入并点击搜索

    Object Exists    ${data_path}\\input.png \     ${similarity}    ${timeout}

    type at object    ${data_path}\\input.png \     selenium    ${timeout}    ${similarity}

    Object Exists    ${data_path}\\submit.png \     ${similarity}    ${timeout}

    click object    ${data_path}\\submit.png \     ${timeout}    ${similarity}

 


TAG: FLASH flash framework Robot robot Selenium selenium Sikuli sikuli 模态窗口

nb_bull的个人空间 引用 删除 nb_bull   /   2013-06-13 14:40:05
5
aying2163的个人空间 引用 删除 aying2163   /   2013-05-18 16:44:13
aying2163的个人空间 引用 删除 aying2163   /   2013-05-18 16:43:52
3
 

评分:0

我来说两句

我的栏目

日历

« 2024-03-28  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

我的存档

数据统计

  • 访问量: 18095
  • 日志数: 4
  • 建立时间: 2013-05-12
  • 更新时间: 2013-05-14

RSS订阅

Open Toolbar