自动化RTF

RIDE+源代码管理器(SVN,CC等)+持续集成系统(jenkins)这种方式更加适合测试人员进行开发。

1. 安装RTF,参照:http://blog.csdn.net/tulituqi/article/details/7583179

1) Python环境: 下载https://www.python.org/download/releases/2.7.5/,注意安装时不能有中文和空格T.T

2) wxpython (ride要有他支持)

3) Robot Framework

4) Robot Framework ride

5) Selenium2Library

http://blog.csdn.net/tulituqi/article/details/7604967

http://www.cnblogs.com/txw1958/archive/2012/05/10/2494465.html

 

http://blakesmith.me/2009/09/14/getting-started-with-python-unit-testing.html

2.  run的时候出错,查了一下是因为pybot.bat未设置在path中,如下:

set PATH=file;%PATH%

 

3. 1.想驱动IE,或者Chrome,请下载2个驱动,

IE:http://code.google.com/p/selenium/downloads/list

Chrome: 

https://code.google.com/p/chromium/downloads/detail?name=chromedriver_win_18.0.1022.0.zip&can=1&q=chromedriver

Firefox:不用驱动,直接可以

将驱动放到D:\Python下即可

3.2 请确保你的安装目录为英文,且没有空格

你的用户名的文件夹也要是英文的哦(我前几天安装了win8,然后用户名是中文,最后安装木有成功啊!后来换英文,就ok了)

3.3 记得我当初安装的时候,还遇到过一个报错,具体内容已经记不得了,反正就是一直报 ‘utf-8’ 什么的错

解决办法就是到script目录下的某个py文件运行下就好了,具体我忘了,如果你遇到,试试吧

3.4 如果安装有什么问题,回复或者mail

 

4.  selenium定位元素:http://www.cnblogs.com/cnblogsfans/archive/2009/02/17/1392819.html

http://blog.csdn.net/liberalwu/article/details/7052955

 

5. seleniumLibrary的关键词:

新增的关键字:

  • Get Selenium Speed
  • Get Selenium Timeout
  • Log Title
  • Log Location

参数改变的关键字

  • Choose File – Pulled remote files support
  • Click Button – Removed dont_wait argument
  • Click Element – Removed dont_wait and coordinates arguments
  • Click Image – Removed dont_wait argument
  • Click Link – Removed dont_wait argument
  • Double Click Element – Removed dont_wait and coordinates arguments
  • Go Back – Removed dont_wait argument
  • Open Context Menu – Removed offset argument
  • Press Key – Removed dont_wait argument
  • Select All From List – Removed wait argument
  • Select Radio Button – Removed wait argument
  • Submit Form – Removed dont_wait argument

移除的关键字

  • Flex-related keywords
  • Add Location Strategy
  • Call Selenium API
  • Capture Screenshot (better support for Capture Page Screenshot in Selenium 2/WebDriver, and conversely no support for full screen screenshot)
  • Drag And Drop (requires Advanced User Interactions API which isn’t quite ready to support this)
  • Press Key Native (requires Advanced User Interactions API which isn’t quite ready to support this)
  • Start Selenium Server
  • Stop Selenium Server
  • Wait Until Page Loaded (Selenium 2/WebDriver is blocking API, so this is not important/less important)

Selenium2Library与浏览器交互的关键词

1)  Open Browser

2)  Maximize Browser window

3) go to

4) go  back

5) reload page

6) close window

7) close browser

8) close  all browsers

 

点击:

1) click button | locator

2) click elementor | locator

3) click image | locator

4) double click element | locator

有时在IE中,click不起作用,可用以下命令代替:

press key | <id> | \\13或\\10

 

定位器Locator:

1)  可以id或name来定位界面元素;

2) 或Xpath或Dom来定位,以Xpath=或Dom=开头

例如:

id=,name=,identifier=

strategy example description
identifier click element | identifier=my_element Matches by @id or @name attibute
id click element | id=my_element Matches with @id  attibute
name click element | name=my_element Matches with @name attibute
xpath click element | xpath=//div[@id='my_element'] Matches with arbitary xpath expression
dom  click element | dom=document.images[56] Matches with arbitary dom expression
css  click element | css=div.my_class Matches by CSS selector
tag click element | tag=div Matches by HTML tag name
     

 

3)   也可用assign id to element 关键词为没有id的元素来指定一个ID

4)  有时需进入iframe或frame再定位一个元素:

进入一个frame或iframe

select frame | locator

回到上层frame或iframe

unselector frame

 

http://www.docin.com/p-390103717.html

 

定位元素:

http://www.360doc.com/content/13/1105/16/11675837_326825221.shtml

 

问题:

1. 登录俺们系统,密码输入不了,查看代码,密码框下两个input,第二个input是display:no的style,问开发得知,获取焦点后才会显示出来,故加了focus  locator才登录成功。

2. 定位链接时,利用xpath=//a[text()='合同列表']

3. 定位时间控件http://lijunwei1228ok.blog.163.com/blog/static/97383797201310293144658/

 

http://blog.csdn.net/liberalwu/article/details/7052955
4. 加python库http://blog.csdn.net/liberalwu/article/details/7049303 
5. 操作:
1)  http://blog.csdn.net/mengfanbo123/article/details/9033571
2)  http://www.myexception.cn/dotnet-framework/1394943.html
3) http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html#Should%20Be%20True
 6. 在hudson中执行rf时出现中文乱码问题:

中文乱码解决方案(适用于0.47-0.49)——目前该方案适用于RF2.6和Robotframework2.7,因为主要修改的文件都是在robotide目录下。

==修改[Python目录]\Lib\site-packages\robotide\lib\robot\utils中的encodingsniffer.py

if UNIXY:
    DEFAULT_SYSTEM_ENCODING = 'UTF-8'
    DEFAULT_OUTPUT_ENCODING = 'UTF-8'
else:
    DEFAULT_SYSTEM_ENCODING = 'cp1252'
    DEFAULT_OUTPUT_ENCODING = 'cp936'

将DEFAULT_OUTPUT_ENCODING = 'cp437'修改为 DEFAULT_OUTPUT_ENCODING = 'cp936'

如果第一次使用RIDE,请同时修改D:\Python27\Lib\site-packages\robot\utils中的encodingsniffer.py

修改的地方一样,也是将DEFAULT_OUTPUT_ENCODING = 'cp437'修改为 DEFAULT_OUTPUT_ENCODING = 'cp936' (cp936就是指系统里第936号编码格式,也就是GB2312。)

 
>>> import locale
>>> encoding=locale.getdefaultlocale()
>>> print encoding
('zh_CN', 'cp936')
7. 如果在RIDE中运用selenium进行浏览器操作时,遇到" [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No browser is open",   打开文件浏览器至Selenium2Library的utils目录,修改其中的browsercache.py文件,将close(self)方法中的语句“browser.quit()”修改为“browser.close()”。即可解决此问题。
 
操作技巧:
1. Selenium2里头怎么清除textfield的缺省值
 send   {DELETE} 或input_Textarea

 2. 给textarea赋值:

document.getElementsByTagName("textarea")[0].value='123'

 

robot的解析:

包括robot的入门,源码分析方法,robot的原理,应用

http://www.360doc.com/content/13/1123/22/14752257_331661844.shtml

学习资料:

http://wenku.baidu.com/link?url=MRy-lvm7k150Z6SN4HLDDvU-ODn2-TQ2VwVXsnMuApvVJcWN_EZxyH77DmaMTzec895bvSzLBBdu01Rp8w4h0FALzuJhePg4KZABVjFNwFK

 

源码分析:http://blog.chinaunix.net/uid-20393955-id-345405.html

 

你可能感兴趣的:(自动化)