??xml version="1.0" encoding="utf-8" standalone="yes"?>
自从搞了(jin)bi数据很写代码?jin),q次到新公司要从头开始搭建测试团队,又要开启新的自动化试之旅Q?/span>python已经?/span>3.X版本?jin),也支持?jin)Robot framework的ride库,现把安装文整理如下Q便于后l新人安装,走弯\?/p> 参考资料:(x) https://blog.csdn.net/thefg/article/details/128601410 https://blog.csdn.net/qq_45894553/article/details/119893181 特别说明Q?span lang="EN-US">
安装环境选择的版本:(x)Windows10+python3.7Q大?.7版本安装Robot framework的ride库不能正怋用?/span>
一、安装的软g清单见下图:(x)
二、安装步骤:(x)
序 | 安装包名 | 安装Ҏ(gu) | 下蝲地址 | 备注 |
1 | python | 具体见:(x)https://blog.csdn.net/thefg/article/details/128601410 | 切记目前最高有效版本只能安?.7.9 | |
2 | setuptools | 不需要安装,python3.7.9安装后自带安?/span> | ?/span> | Python 的套件管理程?/span> |
3 | pip | 不需要安装,python3.7.9安装后自带安?/span> | ?/p> | Python 的套件管理程?/span> |
4 | 升pip | Cmd命o(h)执行Qpip install --upgrade pip | ?/span> | 升pip到最新版?/span> |
5 | robot framework | Cmd命o(h)执行Qpip install robotframework | robot framework本n | |
6 | robotframework-ride | Cmd命o(h)执行Qpip install robotframework-ride | Ride | |
7 | wxPython | 不需要安装,安装robotframework-ride自动安装 | ?/span> | 支撑Ride的运行库 |
8 | wheel | Cmd 命o(h)执行Q?/span>pip install wheel | ?/span> | q行安装.whl?/span> |
9 | robotframework-selenium2library | Cmd命o(h)执行Qpip install robotframework-selenium2library | https://pypi.python.org/pypi/robotframework-selenium2library | selenium2试库,Zwebdriver驱动 |
10 | robotframework-databaselibrary | Cmd命o(h)执行Qpip install robotframework-databaselibrary | https://github.com/franz-see/Robotframework-Database-Library | DB?/span> |
11 | Pymysql | Cmd命o(h)执行Qpip install pymysql | https://pypi.python.org/pypi/pymssql | MysqlW三方库 |
12 | pywin32 | 不需要安装,安装robotframework-ride自动安装 | ?/span> | |
13 | AutoItV3 | exe文gQ直接双d?/span> | http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ | AutoItLibrary使用前提 |
14 | Requests | Cmd命o(h)执行Qpip install requests | RequestsLibrary库用前?/span> | |
15 | RequestsLibrary | Cmd命o(h)执行Qpip install -U robotframework-requests | http request?/span> | |
16 | robotframework-autoitlibrary | Cmd命o(h)执行Qpip install robotframework-autoitlibrary | ?/p> |
|
17 | autoitlibrary3 | Cmd命o(h)执行Q?/span>pip install autoitlibrary3 | http://code.google.com/p/robotframework-autoitlibrary/ | AutoItLibrary试?/span> |
18 | robotframework-appiumlibrary | Cmd命o(h)执行Q?/span>pip install robotframework-appiumlibrary | ?/p> |
|
19 | robotframework-httplibrary | Cmd命o(h)执行Q?/span>pip install robotframework-httplibrary | ?/p> | 安装完后?x)出?/span>ride加蝲httplibrary库标U失败,解决办法手动安装livetestQ具体见下面说明 |
三、安装后(g)查:(x)
1. Cmd命o(h)下执行ride.pyQ能成功q入ride面说明robot framework安装成功?/span>
2. 配置ride为桌面快h式:(x)?/span>RIDE的操作界面,点击Tools下的 Create RIDE Desktop Shortcut 在桌面上创徏 RIDE 快捷方式卛_Q具体见下图
3. 在ride操作面新徏一个项目,把AutoItLibrary、Selenium2Librarycd载,加蝲中如果不昄U色说明AutoItLibrary、Selenium2Library安装成功?/span>
4. Cmd命o(h)下执行pip listQ可以查看安装的包列表有哪些
四、特别说明:(x)
问题Qpython 解决 robotframework RIDE 中导入HttpLibrary库ؓ(f)U色
解决办法Q?/strong>
1. (g)查相兛_是否以及(qing)安装
jsonpathQjsonpointer 可以直接pip install q行安装Qlivetest 需要离U安装,步骤如下Q?/p>
2. 下蝲livetest包,地址Qhttps://pypi.org/project/livetest/#files
3. 解压q修改相x(chng)?/strong>
修改 /livetest-0.5/livetest/init.py文g
修改import httplib ?import http.client as httplib
修改import urlparse ?import urllib.parse
修改from Cookie import BaseCookie, CookieError ?import http.cookiejar
修改所?except XXXError, e ?except XXXError as e
修改/livetest-0.5/test/test_select.py文g
修改文g中所有except XXXError, e ?except XXXError as e
修改 /livetest-0.5/setup.py文g
修改long_description=file(‘README.rst’).read() ?long_description=open(‘README.rst’).read()
修改version=livetest.version ?version=‘0.5’
修改author_email=livetest.author ?author_email=‘storborg@mit.edu’
4. 手动安装livetest
?/span>cmd中切换\径到\livetest-0.5Q执?/span> python setup.py installQ安装成功?/span>
5. 修改HttpLibrary相关配置
修改__init__.py (文g路径QC:\Python37\Lib\site-packages\HttpLibrary)
修改from urlparse import urlparse 为from urllib.parse import urlparse
修改except ValueErrorQ?e?except ValueError as e (׃?
6. 重启rideQ导入正?/strong>
五、验证工h否能正常使用
1.安装Firefox览?/p>
2.打开ride工具Q加载相关类库,输入如下代码q行Q运行成功说明安装成功可?/p>
~写背景Q?/span>
q记得自q一ơ安?/span>appiumӞ?/span>baidu?/span>google上找?jin)很多资料,按照找来的文档,没有一个文档是能完整的从头到尾一ơ安装成功的Q遇C(jin)不少坑,q些坑都是怎么解决的在q里ȝQؓ(f)方便以后自己回头看看?/span>
安装的环境是Q?/span>windows7pȝ
问题?sh)Q在U安?/span>appiumQ?/span>cmd执行命o(h)Q?/span>npm install –g appium出现如下错误信息Q?/span>
30658 error Windows_NT 6.1.7601
30659 error argv "D:\\Program Files\\nodejs\\node.exe" "D:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "appium-chromedriver"
30660 error node v7.1.0
30661 error npm v3.10.9
30662 error code ELIFECYCLE
30663 error appium-chromedriver@2.9.2 install: `node install-npm.js`
30663 error Exit status 1
30664 error Failed at the appium-chromedriver@2.9.2 install script 'node install-npm.js'.
30664 error Make sure you have the latest version of node.js and npm installed.
364 error If you do, this is most likely a problem with the appium-chromedriver package,
30664 error not with npm itself.
30664 error Tell the author that this fails on your system:
30664 error node install-npm.js
30664 error You can get information on how to open an issue for this project with:
30664 error npm bugs appium-chromedriver
30664 error Or if that isn't available, you can get their info via:
30664 error npm owner ls appium-chromedriver
30664 error There is likely additional logging output above.
30665 verbose exit [ 1, true ]
解决办法Q?/span>
安装能访?/span>www.google.com|站?/span>VPN软gQ然后再重新安装appium的低版本Q执行命令:(x)npm install –g appium@1.5
问题?sh)?x)在线安装appiumQ?/span>cmd执行命o(h)Q?/span>npm install –g appium出现错误提示Q?/span>
MSBUILD : error MSB3428: 未能加蝲 Visual C++ lg“VCBuild.exe”。要解决此问题, 1) 安装 .NET Framework 2.0 SDKQ?) 安装 Microsoft Visual Studio 2005Q或 3) 如果该lg安装C(jin) 其他位置Q请其位置d到系l?路径中?/span>
解决办法Q?/span>
下蝲.NET Framework 4.5?/span>Microsoft Visual C++ 2015 Redistributable (x64)q行安装
问题?sh)?x)在线安装appiumQ?/span>cmd执行命o(h)Q?/span>npm install –g appiumQ当appium版本高(sh)1.6.1以上Q会(x)安装sqlite3Q这时会(x)出现错误提示Q?/span>
node-pre-gyp install --fallback-to-build
解决办法一Q执?/span>npm install –g grunt-node-inspector 安装后,l箋(hu)安装?/span>
解决办法二:(x)降版本安装Q执行安装命令:(x)npm install –g appium@1.5Q?/span>appium1.5版本的安装是不包?/span>sqlite3?/span>
问题四:(x)在线安装appiumQ?/span>cmd执行命o(h)Q?/span>npm install –g appium@1.5 Q当安装?/span>appium-selendroid-driverlg后会(x)报错?/span>
npm ERR! appium-selendroid-driver@1.3.4 install: node ./bin/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the appium-selendroid-driver@1.3.4 install script 'node ./bin
/install.js'.
npm ERR! This is most likely a problem with the appium-selendroid-driver package
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls appium-selendroid-driver
npm ERR! There is likely additional logging output above.
解决办法Q通常是网l问题,需?/span>安装能访?/span>www.google.com|站?/span>VPN软gQ然后再重新安装?/span>
最后提醒:(x)安装appium一定要有耐心(j)、一定要有耐心(j)、一定要有耐心(j)Q因问国外网站在U安装是需要花旉的;要想安装软g又不影响工作Q就要申请一台机器单独弄?x)省时省力?/span>
上面的几个坑Q都是在折腾?/span>N?/span>appium的版本安装?/span>N?/span>node的版本安装后得出的经验?/span>
~写背景Q?/span>
部门内部开始?/span>robotframework自动化框架进行网站和手机自动化测试的试运行有3个月?jin),今天抽空把安装文整理整理,׃nl需要的同行和新手学?fn),让大家在安装的过E中碰到我遇到的坑?/span>
目标Q在windows7安装手机自动化工?/span>appium和手机模拟器q行手机软g自动化测?/span>
安装准备Q?/span>需要准备如下YӞ可以自己在网上下载:(x)
1.工具Q?/span>LoCo加速器Q注意:(x)一定要能访问国外网站,不然在线安装?x)失?/span>
2.java?/span>JDKQ版本:(x)jdk-6u45-windows-x64
3. Android SDKQ版本:(x)android-studio-bundle-143.2739321-windows
4.nodejsQ版本:(x)node-v6.8.1-x64
5.Microsoft Visual C++ 2015 Redistributable (x64)
6.Microsoft .NET Framework 4.5
7.手机模拟器:(x)夜神模拟?/span>
一?/span>安装软g
1. LoCo加速器Q?/span>LoCo加速器下蝲后,直接点击exe可执行文件安装即可,安装后用邮箱注册Q注册后15元购?/span>1个月的服务;然后dQ登录后q行链接操作。链接成功后Q访问网站:(x)www.google.com能正显Cƈ搜烦(ch)出内容,说明成功?/span>
2. JDK安装Q下?/span>java?/span>jdk后,点击exe可执行文件安装即可,安装后进行如下配|:(x)
1Q添加系l环境变量:(x)JAVA_HOMEQ|(x)Jdk的安装\径,如:(x)D:\Java\jdk1.6.0_45
2Q添加系l环境变量:(x)CLASSPATHQ|(x)
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
3Q修改系l环境变?/span>path|加上Q?/span>%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(g)?/span>JAVA环境是否配置好,q入CMD命o(h)行,输入java?/span>javacQ可以看到好多的命o(h)提示Q说明成功?/span>
3. Android SDK安装Q直接点?/span>Android Studio?/span>exe可执行文件安装即可,安装后进行如下配|:(x)
1Q?nbsp;新增pȝ环境变量 ANDROID_HOMEQgؓ(f) Android SDK 路径Q如Q?/span>D:\Android\sdk
2Q?nbsp;修改pȝ环境变量Path|加上Q?/span>
;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
4. Nodejs安装Q直接点?/span>exe可执行文件安装即可,安装后在cmd命o(h)下输入:(x)node –vQ能看到版本信息说明安装OKQ配|?/span>npm安装文g路径Q?/span>cmd命o(h)下输入:(x)
npm config set prefix="D:\\Program Files\\nodejs\\node_global"
npm config set cache="D:\\Program Files\\nodejs\\node_cache"
npm config set init-module="D:\\Program Files\\.npm-init.js"
npm config set tmp="D:\\Program Files\\Temp"
npm config set userconfig="D:\\Program Files\\.npmrc"
配置后,通过如下命o(h)可以查看配置信息Q?/span>
npm config list
npm config ls -l
5. Microsoftlg安装Q直接点?/span>Visual C++ 2015 Redistributable (x64)?/span>.NET Framework 4.5?/span>exe安装文gQ直接安装即可?/span>
6. Appium安装Q?/span>cmd命o(h)下输入如下命令:(x)
1Q?nbsp;npm install –g appium-doctor
保国外|站google能正常访问情况下Q在U安?/span>appium-doctor软g包,安装成功后,?/span>cmd命o(h)下输入:(x)appium-doctorQ查?/span>appium安装配置环境是否okQ都OK说明配置正常
2Q?nbsp;appium-doctor安装正常后,输入命o(h)Q?/span>npm install -g appium@1.5
下蝲的文件内Ҏ(gu)较多Q一定要保|络正常Q安装时间会(x)比较长,一定要耐心(j){待?/span>
3Q?nbsp;Appium安装成功后,cmd命o(h)H口输入Q?/span>appium在界面会(x)昄版本信息
7. 夜神模拟器安装:(x)直接点击exe文gq行安装卛_
二?/span>开始?/span>
1. 打开模拟?/span>
2. Cmd命o(h)H口输入Q?/span>adb connect 127.0.0.1:62001 链接成功后会(x)昄如下信息
3. Cmd命o(h)H口输入Q?/span>appium 启动appium服务
4. 打开rideQ加?/span>AppiumLibrarycdQ编写手动化脚本Q编写完毕后Q点击运行即?/span>
到此Q?/span>appium1.5的安装和使用介绍完毕Q预大家有个愉快的手机自动化之旅!
2q没有更新博客了(jin)Q自从有娃后旉变得来少Q深M?x)?jin)当妈的不Ҏ(gu)Q整理这个文章是Z(jin)让部门的Ch学习(fn)q个工具能轻杄入门W一养I(x)安装Q同时希望能帮助到其它同行?/span>
参考资料:(x)
http://www.cnblogs.com/puresoul/p/3854963.html
http://www.itest.pro/howto-install-robot-framework-autoit-windows-x64/
一、安装的软g清单见下图:(x)
二、安装步骤:(x)
序 | 安装包名 | 安装Ҏ(gu) | 下蝲地址 | 备注 |
1 | python | exe文gQ直接双d装,安装完设|?/span>Python环境变量,?#8220;d:\Python27”?#8220;d:\Python27\Scripts”d到环境变?#8220;PATH”中(注意环境变量之间?#8220;;”隔开) | 一切的基础Q安装\径不能有I格 | |
2 | setuptools | 下蝲ez_setup.py文gQ把文g攑ֈpython安装目录?/span>scripts目录下,双击文g?/span> | Python 的套件管理程?/span> | |
3 | pip | 1.cmdq入ez_setup.py文g目录Q如Q?/span> d:\Python27\Scripts 2.?/span>setuptools安装Q?/span>easy_install pip | Python 的套件管理程?/span> | |
4 | 升php | Cmd命o(h)执行Q?/span> pip install --upgrade pip | ?/span> | 升pip到最新版?/span> |
5 | robot framework | Cmd命o(h)执行Q?/span>pip install robotframework | robot framework本n | |
6 | wxPython | exe文gQ直接双d?/span> | 支撑Ride的运行库 | |
7 | robotframework-ride | Cmd命o(h)执行Q?/span>pip install robotframework-ride | Ride | |
8 | robotframework-selenium2library | Cmd命o(h)执行Q?/span>pip install robotframework-selenium2library | https://pypi.python.org/pypi/robotframework-selenium2library | selenium2试库,Zwebdriver驱动 |
9 | robotframework-databaselibrary | Cmd命o(h)执行Q?/span>pip install robotframework-databaselibrary | https://github.com/franz-see/Robotframework-Database-Library | DB?/span> |
10 | Pymysql | Cmd命o(h)执行Q?/span>pip install pymysql | https://pypi.python.org/pypi/pymssql | MysqlW三方库 |
11 | pywin32 | exe文gQ直接双d装,注意py对应的版?/span>2.7 | https://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/ | AutoItLibrary安装前提 |
12 | AutoItV3 | exe文gQ直接双d?/span> | http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ | AutoItLibrary使用前提 |
13 | AutoItLibrary | Cmd命o(h)执行Q?/span>pip install AutoItLibrary | http://code.google.com/p/robotframework-autoitlibrary/ | AutoItLibrary试?/span> |
14 | Requests | Cmd命o(h)执行Q?/span>pip install requests | RequestsLibrary库用前?/span> | |
15 | RequestsLibrary | Cmd命o(h)执行Q?/span>pip install -U robotframework-requests | http request?/span> |
三、安装后(g)查:(x)
1. 配置ride为桌面快h式:(x)
1) 新徏快捷方式Q在桌面叛_鼠标Q弹出的菜单选择 新徏-快捷方式 Q然后在 请键入对?/span> 的位|输入这一行命令,C:\Python27\pythonw.exe -c "from robotide import main; main()"Q注?#8220;C:\Python27\pythonw.exe”?/span>python安装的\径,需要换成你?/span>Python所在目录的路径Q注意双引号文?/span>
2) 点击下一步,输入你要建立的快h式的名称Q点d成,看到图标表示已经建好?/span>
3) 昄不爽Q图标要换成机器人图标,需要快h式上点击右键-属性,点击“更改图标”Q在览里找到目?/span>F:\Python27\Lib\site-packages\robotide\widgetsQ里面有?/span>robot.ico的图标(大家到自q安装目录相同路径L一下)(j)选它之后Q点打开Q确定之后再定可以了(jin)Q双d标,q入ride操作面
2. Cmd命o(h)下执?/span>ride.pyQ能成功q入ride面说明robot framework安装成功?/span>
3. ?/span>ride操作面新徏一个项目,?/span>AutoItLibrary?/span>Selenium2Librarycd载,加蝲中如果不昄U色说明AutoItLibrary?/span>Selenium2Library安装成功?/span>
4. Cmd命o(h)下执?/span>pip listQ可以查看安装的包列表有哪些
四、特别说明:(x)
1.安装robotframework-selenium2library 后会(x)自动安装selenium的最?/span>3.0版本Q?/span>selenium 3.0以上版本安装后编写的自动化脚本打开firefox览器会(x)p|Q?/span>robotframework?x)报如下错?/span>
command: pybot.bat --argumentfile c:\users\administrator\appdata\local\temp\RIDEcatnr4.d\argfile.txt --listener F:\Python27\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:14051:False F:\test\aaa
或者这个错?/span>
WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line
解决办法Q?/span>
1) ?/span>pip命o(h)卸蝲selenium3.0版本,命o(h)Q?/span>pip uninstall selenium
2) 下蝲selenium 2.53.6 版本Q包名:(x)selenium-2.53.6.tar.gzQ下载地址Q?/span>https://pypi.python.org/pypi/selenium/2.53.6#downloads
3) 安装selenium-2.53.6.tar.gzQ解?/span>selenium-2.53.6.tar.gzQ把解压的文件拷贝到python安装目录文g夹下Q如Q?/span>D:\Python27\Lib\site-packagesQ?/span>cmdq入selenium解压的文件夹路径Q执行如下命令:(x)python setup.py install
4) Cmd执行pip list 查看安装?/span>selenium版本是否正确
2.python下如何安?/span>.whl包?
{:(x)pip install wheelQ先安装wheelQ然?/span>pip install 包名?/span>.whl 卛_安装.whl包?/span>
五、安装过E遇到的问题汇总:(x)
问:(x)Python有两个版本:(x)2.X?/span>3.XQ装那个版本比较好?
{:(x)׃windows7下,Python 对应?/span>wxPython 版本只支?/span> 2.x 不支?/span>3.xQ因?/span>Python目前只能?/span>2.x版本
问:(x)pip安装完毕后,如何升Q?/span>
{:(x)使用命o(h)Q?/span>pip install --upgrade pip
问:(x)win76下安?/span>autoitlibraryp|
{:(x)必须先安?/span>pywin32Qƈ?/span>Python的安装目录不能有I格Q如果有I格?x)导致注?/span>autoit?/span>dll时出?/span>
到此Q安装完毕,可以?/span>ride~写自己的自动化试脚本Q开始自动化试之旅Q!Q?/span>^_^?/span>
本文资料来源Q?a >http://zh.wikipedia.org/wiki/Ruby_on_Rails
?/strong>
Ruby on Rails 是一个可以你开发,部vQ维?web 应用E序变得单的框架?br /> Ruby on RailsQ简URailsQ是一个用Ruby语言写的开源Web应用框架Q它是严格按照MVCl构开发的。它努力使自w保持简单,来实际的应用开发时的代码更,使用最的配置?br /> Ruby on Rails是一U结合Ruby语言与Railsq_的一U网늼E语aQRuby语言以自然、简z、快速著Uͼ全面支持面向对象E序设计Q而Rails则是Rubyq泛应用方式之一Q在Railsq_上设计出一套独特的MVC开发架构,采取模型QModelQ、外观(ViewQ、控制器QControllerQ分ȝ开发方式,不但减少?jin)开发中的问题,更简化了(jin)许多J复的动作?br /> Rails的设计原则包?#8220;不做重复的事”QDon't Repeat YourselfQ和“惯例优(sh)讄”QConvention Over ConfigurationQ?br />来历
Ruby的作者于1993q??4日开始编写RubyQ直?995q?2月才正式公开发布于fjQ新ȝQ。之所以称为RubyQ是因ؓ(f)Perl的发音与6月的诞生石pearlQ珍珠)(j)相同Q因此Ruby?月的诞生石rubyQ红宝石Q命名?br /> 2004q?月,Rails的创始h大卫•L(fng)梅尔•韩森?7signals公司的项目管理工具Basecamp里面分离出Ruby on RailsQƈ且以开源方式发布?br /> Rails在发布以后的短短的时间内p速获得很多开发h员欢q,大卫认ؓ(f)q归功于Rails设计为opinionated software。Rails当中有很多规矩从一开始就按照David的意见制定好?jin),所以在Rails上开发应用程序时Q开发h员可以专注于应用E序?w的设计Q省却那些花在了(jin)解及(qing)配置基础框架上面的时间。这也正是Rails很重要的_“U定优(sh)配置”Q开发h员遵照Rails本n的惯例便可以省却配置l态档的时_(d)此外QRails虽然惯例的重要及(qing)便利性,但针对不同的需求,Rails也提供修改的I间让开发h员可以进行自定义的组态?br />q作模式
Rails框架是以固定的命名习(fn)惯来自动判断整个架构Q默认下?x)将|址分析?a href="http://domain-name/ControllerName">http://domain-name/ControllerName /ActionName/Attribute/ 然后q行目标Controller中的ActionQƈ取出指定的ViewQ视图)(j)回传l浏览器昄。面Ҏ(gu)据库则以ModelQ模块)(j)的Ş式,借由Active Record作ؓ(f)与数据库之间的传输接口?br />Rails的MVC架构
Ruby on Rails的模?视图-控制器架构由以下各部分组成:(x)
模型
模型包含着应用的状态,状态可能是临时的也可能是长久性保存在数据库中的。需要注意的是模型不仅包含数据,而且包含数据代表的逻辑。在Rails中,模型通常是由一些代表关pL据库中RDBMS表的cȝ成的?br /> 在RoR中,模型cL通过Active Record模式q行处理的。一般来_(d)E序员要做的是(h)承ActiveRecordc,同时E序?x)自动计出要用哪个RDBMS表,q个表有哪些列。表与表之间的关p通过单的命o(h)来指明?br /> 控制?/strong>
控制器将用户界面和数据模型关联v来,q充当协调运作的角色。它接收各种用户操作Q更新数据模型,q用合适的view展示l果l用戗像他的名字一P可以说应用的主要控制中心(j)?yu)是各个控制器?br /> 视图
View负责Ҏ(gu)Model中的数据昄用户界面。作为web应用QRails里的View通常是生成整个或者部分网c(din)当然可以是XML或者甚x(chng)JavaScript代码。表Cؓ(f)使用内嵌Ruby的HTMLQXMLQJavaScript模板?/p>Rails的组成模?/strong>
Rails使用如下Gems
actionmailer (1.3.2)
Service layer for easy email delivery and testing.
actionpack (1.13.2)
Web-flow and rendering framework putting the VC in MVC.
actionwebservice (1.2.2)
Web service support for Action Pack.
activerecord (1.15.2)
Implements the ActiveRecord pattern for ORM.
activesupport (1.4.1)
Support and utility classes used by the Rails framework.
rails (1.2.2)
Web-application framework with template engine, control-flow layer, and ORM.
模型QActive Record
ActiveRecord实现?jin)Rails的对象关pL?br />控制器和视图QActionPack
ActionController是Rails中的控制器,提供各种Ҏ(gu)供用h作用?br />ActionView是Rails中的视图Q负责展现用L(fng)面?br />常用实用工具QActiveSupport
ActiveSupport包提供一些工具和支持代码?br />处理邮gQActionMailer
ActionMailer用来发送和接收email?br />Web服务QActionWebService
ActionWebService来提供SOAP和XML-RPC支持。需要注意的是,Rails向使用更加单明?jin)的REST方式web服务而不再提倡SOAP格式的web服务。ActionWebServices在未来的版本里面?x)逐步淡出?br />|络资源QActionResource
用REST对Web服务提供?jin)优U的支持。这U风格的Web服务使用指定的资源?br />Rails中的AJAX
AJAXQ异步JavaScript与XMLQ是一U异步传输接口,可以借由览器用JavaScript和XML来处理传输请求,而将Web服务器作为后台来处理Q这h蝲入额外的|页。Rails自带有Prototype?来实现这个技术。Ajax已经和Ruby on Railsl合在了(jin)一hZ(jin)一个新的系l叫?#8220;Ajax on Rails”。Rails提供一些助手工h更方便地实现AJAX应用?Rails提供?jin)一些HelperQ可以在服务器一端用URuby语言生成l浏览器用的JavaScript代码Q从而让Rails的开发者不需掌握 JavaScript可以简单方便的开发出AJAX的应用?br />Rails和W(xu)eb服务
E早的版本的Rails中提供了(jin)ActionWebService作ؓ(f)开发XML-RPC和SOAP的web服务的基。但是最q的Rails 1.2更加們于是用REST方式的web服务Q而ActionWebService在Rails 2.0中作为plugin而不再是rails核心(j)的一部分?br />Web服务器支?/strong>
对于开发和试来说Q一个很轻量的WEBrick|页服务器已l被包含在了(jin)Ruby中,常被用来作ؓ(f)应用服务器。而对于生产应用,常推荐用带FastCGI的Apache或者LighttpdQ但M支持CGI或者FastCGI的网|务器都可以用。在Apache上,mod_ruby也可以考虑用来提高性能?br />数据库支?/strong>
使用Rails的架构开发网l应用一般都使用数据库,所以推荐用一个关pL据库pȝ来进行数据存储,若不能运行一个关pL据库服务器,Rails也支持SQLite库。很多关pL据库pȝ都支持,包括MySQL、PostgreSQL、SQLite、IBM DB2、Oracle和SQL Server?br />pȝ要求
• Ruby语言
• Web服务器,如Apache、lighttpd{?br />• FastCGIQ或者MongrelZ(jin)提高效率
• 数据库和驱动E序
集成开发环?/strong>
开发用的IDE有:(x)Eclipse , IntelliJ, Aptana?br />cM的框?/strong>
• CakePHP
• Django
• TurboGears
• CodeIgniter
规范
HTTPClient
例:(x)
Other_Class
OTHERCLASS
HttpClient
HTTPclient
HTTP_Client
add_something
:
addsSomething
Add_Something
?is_:
visible?
:
is_visible
is_visible?
!:
split
split! # split
EXAMPLE_CONSTANT
tmp
local_variable
@instance_variable
$global_variable
@@class_variable
order_state1.6 _:
foo.rb # c?/span>Foo
foo_bar.rb # c?/span>FooBar
# referenced by url, title, or window handle.
# Second argument can be either a string or a regular expression in the
# case of of :url or :title.
# IE.attach(:url, 'http://www.google.com')
# IE.attach(:title, 'Google')
# IE.attach(:hwnd, 528140)
# This method will not work when
# Watir/Ruby is run under a service (instead of a user).
defself.attach(how, what)
ie = new true # don't create window
ie._attach_init(how, what)
ie
end
a + b
:
a+ b
a +b
if x > 0
if y > 0
puts "x > 0 && y > 0"
end
end
Ruby Ruby“”RubyRubyPerlCRubyWatir Watir( Web Application Testing in Ruby) Web Ruby Watir Watir WatirWebRubyWatirl Watir Ruby Ruby l Watir Windows, Mac, Linux IE, Firefox, Chrome
l Watir windowsbutton, link, dialog, image, table, div HTML l Ruby IRBInteractive Ruby Shell, Watir IRB l Ruby Test::Unit (Test Suites) (Assertion) l Perl, Python, Shell Watir l Watir 二、开源自动化试工具l合Q?/span>Ruby+Watir安装准备Q?/span>
1. RubyQ稳定版?/span>Ruby 1.8.6
WatirQ徏议装watir 1.5.2
FirefoxQ徏议装2.0
GemQ?/span>
rubygems-update-1.3.4.gem
Firefoxjsshfirebugfirewatir下蝲地址Q用Googlejssh-WINNT-2[1].x.xpi
Firebug搜烦(ch)Q之前找的忘记是那了(jin)Q徏议装firebug-1.05
Firewatirhttp://code.google.com/p/firewatir/downloads/listfirewatir-1.1
2. Ø Windows xp
Ø rubyrubyexeØ firefoxexeØ firefoxfirefox“打开”Q选择插g文g名,安装卛_Q?strong>提醒Q需要安装插件有Q?/span>jsshfirebugØ firewatir“q行”Q在面输入命o(h)Q?/span>cmd命o(h)操作界面Q进?/span>rubygem install firewatir-1.1.gem
Ø watir
1) “q行”Q在面输入命o(h)Q?/span>cmdDOS2) ruby?/span>ruby –vrubyRuby 1.8.6
3) gem –vgem0.94
4) gemgemrubydosgem install rubygems-update-1.3.4.gemgemlib\ruby\gems\1.8\gems\rubygems-update-1.3.4Q点击这个文件夹中的文gQ?font style="background-color: #c7edcc">setup.rbQ升Ugem卛_
5) watirwatirrubydosgem install watir-1.5.2.gem
3. dosq入firewatirunittestsruby mozilla_all_tests.rb?br />