【紧急求教】jybot运行方式如何测试https的接口?

Hi 各位大牛:

被测系统是https接口方式的,自动化测试过程中,使用pybot发送请求是没有问题的,但是使用jybot发送相同的rest请求,却总是提示:“SSL错误,握手通信异常”。这种情况,除了加载证书外,恳求各位大牛提点下思路,看看是否有其他的解决方法?

Thks.

请问大牛们,有没有使用RIDE 中直接运行java的库的成功实践?

目前我封装了MonkruRunner的库,这些库就是android的SDk目录下的一些列jar包。

当前是采用java版robotframe来运行的,没能直接在RIDE中运行,而是采用的robotframework.jar来运行的。

 

想请教下,有没有运行java的库的成功实践? 具体方法求指点

 

java版设置好jar包 指定脚本路径和用例文本就可以,参考这个帖子

http://stackoverflow.com/questions/12693744/monkeyrunner-with-robotframework

java -cp /Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools/lib/chimpchat.jar:/Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools/lib/ddmlib.jar:/Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools/lib/guavalib.jar:/Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools/lib/monkeyrunner.jar:/Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools/lib/sdklib.jar:/Users/komejun/Downloads/robotframework-2.7.5.jar -Dcom.android.monkeyrunner.bindir=”/Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools” -Djava.library.path=”/Users/komejun/Documents/devtool/android/android-sdk-mac_x86/tools/lib” org.robotframework.RobotFramework a.txt

 

问题:鼠标右键如何测试?

使用 selenuim2library 如何测试鼠标右键单击?我使用的是smartclient组件

以下面的页面为例

http://smartclient.com/#cellClicks

右键单击表格中第一行,弹出对话框。

执行测试用例的命令行参数如下:

-d out -v WEBSERVERIP:smartclient.com -v WEBSERVERIP_PORT:80 -v BROWSERTYPE:gc  -v BROWSERHUB:10.10.10.10 -v BROWSERHUB_PORT:4444

 

下面是测试用例,始终报 “右键未弹出对话框”

Continue reading “问题:鼠标右键如何测试?”

Linux(CentOS6)零起点运行Jenkins/RobotFramework

这篇介绍的是用win7机器远程登陆到Linux机器上安装Jenkins及RobotFramework运行环境

步骤如下:

一、开始可以远程登录到这台Linux机器上安装个类似windows的用户界面(可以让不懂linux命令的小白迅速装环境)

打开git或者某个ssh的客户端输入命令ssh -p 58422 root@192.168.9.150

[root@host_9-150 ~]# yum -y groupinstall “X Window System” “Desktop” “Fonts” “General Purpose Desktop”

二、安装vncserver并启动(作用是可以远程登录到这台Linux机器上用鼠标操作)

[root@host_9-150 ~]# rpm -ivh /mnt/Server/vnc-server-4.1.2-9.el5.x86_64.rpm

[root@host_9-150 ~]#vncserver :1

 启动vncserver之后会提示输入初始密码,输入并确认后就可以在windows机器上下载http://www.realvnc.com/download/登陆到这个Linux机器上用鼠标操作

三、安装python2.7版本(如果很熟悉Linux命令的话就可以跳过前两步)

1.下载2.7.3版本压缩包

[root@host_9-150 ~]#wget -c http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2

2.解压

[root@host_9-150 ~]# tar –jxvf Python-2.7.3.tar.bz2

3.编译和安装

[root@host_9-150 ~]# cd Python-2.7.3

[root@host_9-150 ~]# ./configure

[root@host_9-150 ~]# make

[root@host_9-150 ~]# make install

 4. 验证Python是否安装成功

[root@host_9-150 ~]# cd Python-2.7.3

[root@host_9-150 ~]# Python

之后可以看到2.7.3版本说明安装成功

四、首先安装JDK 6并设置环境变量

[root@host_9-150 ~]# yum -y install java-1.6.0-openjdk-devel

[root@host_9-150 ~]# alternatives –config java

[root@host_9-150 ~]# alternatives –config javac

五、再下载并安装Jenkins

[root@host_9-150 ~]wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
[root@host_9-150 ~]rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
[root@host_9-150 ~]yum install jenkins

六、启动Jenkins并安装xvfb插件

[root@host_9-150 ~]sudo service jenkins start

打开后看到Jenkins首页进入插件管理安装Jenkins Xvfb plugin这个插件

 这是关于Xvfb这个插件的相关介绍(可以理解为就是一个承载Jenkins上运行case启动浏览器的一个容器):

https://github.com/zregvart/xvfb-jenkins-plugin

https://wiki.jenkins-ci.org/display/JENKINS/Xvfb+Plugin

跟tomcat本地启动差不多的这个界面。

 七、安装Xvfb服务 (作为在Jenkins上启动浏览器)

[root@host_9-150 ~]# yum -y install xorg-x11-server-Xvfb

[root@host_9-150 ~]# yum -y install mesa-dri-drivers

[root@host_9-150 ~]# yum -y install dbus-x11(uuid生成工具)

[root@host_9-150 ~]# dbus-uuidgen –ensure(教程上基本都没有提到这步,很坑,之前一直不知道xvfb为啥起不起来,当时卡了半天,就是因为少生成了这个uuid)

 八、安装Jenkins上robotframework插件

在插件管理中找到这个插件Robot Framework plugin安装后就可以在构建后看到非常直观的结果报告图

https://wiki.jenkins-ci.org/display/JENKINS/Robot+Framework+Plugin

win7+sikuli crash

when open sikuli in win7 and click any button,the ide crashed.

try:

uninstall java7 and restart sikuli ide by file Sikuli-ide.bat

MAC OS零起点运行RobotFramework / Jython / RIDE

MAC OS 零起点运行RobotFramework / Jython / RIDE

步骤如下:

一、安装RobotFramework

1. 安装Python
通过命令`python –version`查看版本号:

对于MAC OS X 10.2 之后的版本,已经预装了python。

本文默认版本为 Python 2.7.2

2. 安装easy_install

同样由MAC OS X 10.2自带

3. 安装robotframework

3.1 可以通过easy_install进行安装:sudo easy_install robotframework , 由于easy_install实际是获取googlecode上的代码,因此可能需要vpn。否则会出现:

error: Download error for http://robotframework.googlecode.com/files/robotframework-2.8.tar.gz: [Errno 8] nodename nor servname provided, or not known

3.2 可以通过下载后的安装包进行安装:

3.2.1 下载robotframework-2.7.7.tar.gz后解压: tar xzvf robotframework-2.7.7.tar.gz
3.2.2 进入解压后的文件夹,在该文件夹内应有setup.py文件
输入: python setup.py install
或: jython setup.py install
[*注1]

二、安装Jython

4. 安装Jython

4.1 进入http://www.jython.org/downloads.html ,网页上会显示当前最稳定的版本(The most current stable release),本文撰写时,稳定版本为Jython 2.5.3,因此点击`Download Jython 2.5.3`

4.2 在打开的页面中找到 jython-install 对应的jar,下载之

4.3 通过命令java -jar jython_installer-2.5.3.jar执行安装

5. 将Jython路径加入环境变量

5.1 进入当前用户的home目录 cd ~

5.2 编辑.bash_profile文件 vi .bash_profile (如果没有该文件会自动创建)

5.3 按下a开始插入(下方会显示 — INSERT — 字样),输入 export PATH=/Users/{your own username}/jython2.5.3/bin:$PATH 注意需要指向bin目录

5.4 按下ESC离开插入模式

5.5 按下: 输入wq 保存编辑并退出

5.6 关闭命令行终端并重新打开(此时会重新载入环境变量),输入 jython –version 查看是否保存成功

三、安装RIDE

见该文章:
https://github.com/robotframework/RIDE/wiki/Installation-Instructions

6. 安装wxPython

6.1 进入http://wxpython.org/download.php#stable

6.2 找到Mac OSX Binaries,根据之前看到的python版本,下载对应版本的wxPython(建议下载unicode版本)。

6.3 下载的文件为.dmg文件,直接双击安装即可

7. 安装RIDE

7.1 下载robotframework-ride-1.1.tar.gz

7.2 解压 tar xzvf robotframework-ride-1.1.tar.gz

7.3 执行 python setup.py install

7.4 如果出现错误:ImportError: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture (see “man python” for running in 32-bit mode)
说明python为64位,wxPython不支持64为python,需要强制使用32位:

执行 defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

7.5 执行ride.py 即可打开RIDE界面。

7.6 如果出现错误:

python should be executed in 32-bit mode to support wxPython on mac. Check the BUILD.rest for details

在终端执行 defaults write com.apple.versioner.python Prefer-32-Bit -bool yes 就可以了

* 注1:如果出现Permission denied错误则需要加上sudo,变成sudo python setup.py install 等,下同。

sikuli+selenium之no model named sikuli

排除错误的步骤:

1,检查JAVA版本,用JAVAC编译JAVA文件,然后用UltraEdit打开编译后的class,查看JAVA版本为1.6

2,查看jython –version为2.5.1

3,查看python –version为2.7

修改如下:

1,安装jython 2.5.2

2,修改相关环境变量为2.5.2

3,重启电脑,这里如果不重启,不生效

然后执行之前的命令jython.bat……就通过了

sikuli+selenium在robot framework实现的demo

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

Sikuli与robotframework集成

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}

autoit+selenium在robot framework上的实现demo

AutoIt 是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务.而这是其它语言不可能做到或无可靠方法实现的。在web测试中,许多控件selenium完成起来有难度的。此时结合Autoit可以达到事半功倍的效果。比如上传下载,activex,web上遇到大部分的windows控件都可以搞定了。RF+selenium+autoit的强大自己体会去吧。废话不多说,直接上安装教程和简单例子。剩下的各位自己,去摸索。

1,准备安装包,群共享中Autoitlibrary.zip 群 号:247870083

2,安装pywin32.exe,此为autoit的依赖库,在群GX能找到。

3,cmd到Autoitlibrary的解压目录,敲命令python setup.py install如果你第二步没跳过去,应该能安装成功。此时在C盘会有一个robotframework的文件夹,里面有很多例子。

4、启动ride, addlibrary AutoItLibrary 不是红色的,恭喜你成功了。

如果想要测试C/S程序,Autoit+sikuli可以解决绝大多数问题了。那就需要你深入研究Autoit,祝大家开心测试。

下面附送上传文件的例子,大家试试,群GX也会有的。

*** Settings ***

Library Selenium2Library

Library AutoItLibrary

*** Variables ***

${path} e:\\boot.ini

${url} http://www.rayfile.com/zh-cn/option/

${browser} gc

*** Test Cases ***

Login To Rayfile And Upload

[Tags] up

打开浏览器

上传

*** Keywords ***

打开浏览器

open browser ${url} ${browser}

上传

click element upload0

Win Wait Active 打开

Control Set Text 打开 \ [CLASS:Edit; INSTANCE:1] ${path}

Control Click 打开 \ [CLASS:Button; INSTANCE:2]