﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小蚂蚁-随笔分类-软件自动化测试</title><link>http://www.blogjava.net/lijun_li/category/41827.html</link><description>风雨过后才见彩虹</description><language>zh-cn</language><lastBuildDate>Fri, 20 Jan 2023 11:53:37 GMT</lastBuildDate><pubDate>Fri, 20 Jan 2023 11:53:37 GMT</pubDate><ttl>60</ttl><item><title>自动化测试工具Robot framework安装说明之Windows 10!</title><link>http://www.blogjava.net/lijun_li/archive/2023/01/20/450903.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 20 Jan 2023 11:00:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2023/01/20/450903.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/450903.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2023/01/20/450903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/450903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/450903.html</trackback:ping><description><![CDATA[<p style="background:#F9FCE9"><span style="font-size: 10pt;">编写背景：</span></p>  <p style="text-indent:21.0pt;background:#F9FCE9"><span style="font-size: 10pt;">自从搞了</span><span style="font-size: 10pt; font-family: Verdana, sans-serif;">bi</span><span style="font-size: 10pt;">数据就很少写代码了，这次到新公司要从头开始搭建测试团队，又要开启新的自动化测试之旅，</span><span style="font-size: 10pt; font-family: Verdana, sans-serif;">python</span><span style="font-size: 10pt;">已经到</span><span style="font-size: 10pt; font-family: Verdana, sans-serif;">3.X</span><span style="font-size: 10pt;">版本了，也支持了</span>Robot framework的ride库，现把安装文档整理如下，便于后续新人安装，少走弯路。</p>  <p style="background:#F9FCE9"><span style="font-size: 10pt;">参考资料：</span></p>  <p style="background:#F9FCE9"><a href="https://blog.csdn.net/thefg/article/details/128601410">https://blog.csdn.net/thefg/article/details/128601410</a></p>  <p style="background:#F9FCE9"><a href="https://blog.csdn.net/qq_45894553/article/details/119893181">https://blog.csdn.net/qq_45894553/article/details/119893181<br /><br /></a></p><p class="MsoNormal" align="left"><strong><span style="font-size:
12.0pt;font-family:宋体;mso-bidi-font-family:宋体;mso-font-kerning:0pt">特别说明：<span lang="EN-US"><o:p></o:p></span></span></strong></p><p align="left"><strong><span style="font-size: 12.0pt;font-family:宋体;">安装环境选择的版本：Windows10+python3.7，大于3.7版本安装Robot framework的ride库不能正常使用。</span></strong></p>  <p align="left"><strong><span style="font-size: 12.0pt;font-family:宋体;">一、安装的软件清单见下图：</span></strong></p>  <p align="left"><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片1.png" width="882" height="891" alt="" /><br /></p>  <p align="left"><strong><span style="font-size: 12.0pt;font-family:宋体;">二、安装步骤：</span></strong></p>  <table border="0" cellspacing="0" cellpadding="0" width="912" style="margin-left:-22.95pt;border-collapse:collapse;">  <tbody><tr>   <td width="30" valign="top" style="width: 22.45pt; border-width: 1pt; border-style: solid; border-color: windowtext; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:   9.0pt;font-family:宋体;">顺序</span></p>   </td>   <td width="132" valign="top" style="width: 99.25pt; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: none; padding: 0cm 5.4pt;">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">安装包名</span></p>   </td>   <td width="265" valign="top" style="width: 7cm; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: none; padding: 0cm 5.4pt;">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">安装方法</span></p>   </td>   <td width="359" valign="top" style="width: 269.3pt; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: none; padding: 0cm 5.4pt;">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">下载地址</span></p>   </td>   <td width="126" valign="top" style="width: 94.4pt; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: none; padding: 0cm 5.4pt;">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">备注</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">1</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">python</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p style="background:#F9FCE9"><span style="font-size: 9pt;">具体见：</span>https://blog.csdn.net/thefg/article/details/128601410</p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://www.python.org/download/releases/2.7.12/"><span style="font-size:10.0pt;font-family:宋体;color:#525252;">https://www.python.org/download</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">切记目前最高有效版本只能安装3.7.9</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">2</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">setuptools</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">不需要安装，python3.7.9安装后自带安装</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">无</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Python&nbsp;</span><span style="font-size:9.0pt;font-family:宋体;">的套件管理程式</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">3</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">pip</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">不需要安装，python3.7.9安装后自带安装</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">无</p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Python&nbsp;</span><span style="font-size:9.0pt;font-family:宋体;">的套件管理程式</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">4</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">升级pip</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install --upgrade pip</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">无</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">升级pip到最新版本</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">5</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robot framework</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install robotframework</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://pypi.python.org/pypi/robotframework"><span style="font-size:   10.0pt;font-family:宋体;color:#525252;">https://pypi.python.org/pypi/robotframework</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robot framework</span><span style="font-size:9.0pt;font-family:宋体;">本身</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">6</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robotframework-ride</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install   robotframework-ride</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://pypi.python.org/pypi/robotframework-ride"><span style="font-size:10.0pt;font-family:宋体;color:#525252;">https://pypi.python.org/pypi/robotframework-ride</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Ride</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">7</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">wxPython</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">不需要安装，安装robotframework-ride自动安装</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">无</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">支撑Ride的运行库</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">8</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">wheel</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size: 9pt; font-family: Verdana, sans-serif; background: #f9fce9;">Cmd </span><span style="font-size: 9pt; background: #f9fce9;">命令执行：</span><span style="font-size: 9pt; font-family: Verdana, sans-serif; background: #f9fce9;">pip install wheel</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">无</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">运行安装</span><span style="font-size:12.0pt;font-family:宋体;">.whl</span><span style="font-size:12.0pt;font-family:   宋体;">包</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">9</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robotframework-selenium2library</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install   robotframework-selenium2library</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://pypi.python.org/pypi/robotframework-selenium2library"><span style="font-size:10.0pt;font-family:宋体;color:#525252;">https://pypi.python.org/pypi/robotframework-selenium2library</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">selenium2</span><span style="font-size:9.0pt;font-family:宋体;">测试库，基于webdriver驱动</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">10</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robotframework-databaselibrary</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install</span></p>   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robotframework-databaselibrary</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://github.com/franz-see/Robotframework-Database-Library"><span style="font-size:10.0pt;font-family:宋体;color:#525252;">https://github.com/franz-see/Robotframework-Database-Library</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">DB</span><span style="font-size:9.0pt;font-family:宋体;">库</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">11</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Pymysql</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install pymysql</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">https://pypi.python.org/pypi/pymssql</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Mysql</span><span style="font-size:9.0pt;font-family:宋体;">第三方库</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">12</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">pywin32</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">不需要安装，安装robotframework-ride自动安装</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:   9.0pt;font-family:宋体;">无</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt"></td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">13</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">AutoItV3</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">exe</span><span style="font-size:9.0pt;font-family:宋体;">文件，直接双击安装</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/</span></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">AutoItLibrary</span><span style="font-size:9.0pt;font-family:宋体;">使用前提</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">14</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Requests</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install requests</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://pypi.python.org/pypi/requests" target="_blank"><span style="font-size:10.0pt;font-family:宋体;color:#525252;">https://pypi.python.org/pypi/requests</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">RequestsLibrary</span><span style="font-size:9.0pt;font-family:宋体;">库使用前提</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">15</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">RequestsLibrary</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install -U   robotframework-requests</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><a href="https://github.com/bulkan/robotframework-requests"><span style="font-size:10.0pt;font-family:宋体;color:#525252;">https://github.com/bulkan/robotframework-requests</span></a></p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">http request</span><span style="font-size:9.0pt;font-family:宋体;">库</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">16</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">robotframework-autoitlibrary</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：pip install   robotframework-autoitlibrary</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">无</p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">&nbsp;</p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">17</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-family:&quot;Arial&quot;,sans-serif;color:#4D4D4D;background:white">autoitlibrary3</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：</span><span style="font-family:   &quot;Arial&quot;,sans-serif;color:#4D4D4D;background:white">pip install autoitlibrary3</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">http://code.google.com/p/robotframework-autoitlibrary/</p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">AutoItLibrary</span><span style="font-size:9.0pt;font-family:宋体;">测试库</span></p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">18</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;color:#404040;background:white">robotframework-appiumlibrary</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：</span><span style="font-family:   &quot;Segoe UI Emoji&quot;,sans-serif;color:#404040;background:white">pip install   robotframework-appiumlibrary</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">无</p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">&nbsp;</p>   </td>  </tr>  <tr>   <td width="30" valign="top" style="width: 22.45pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top: none; padding: 0cm 5.4pt;">   <p align="right" style="text-align:right;"><span style="font-size:9.0pt;font-family:宋体;">19</span></p>   </td>   <td width="132" valign="top" style="width:99.25pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;color:#404040;background:white">robotframework-httplibrary</span></p>   </td>   <td width="265" valign="top" style="width:7.0cm;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p><span style="font-size:9.0pt;font-family:宋体;">Cmd</span><span style="font-size:9.0pt;font-family:宋体;">命令执行：</span><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;   color:#404040;background:white">pip install robotframework-httplibrary</span></p>   </td>   <td width="359" valign="top" style="width:269.3pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left">无</p>   </td>   <td width="126" valign="top" style="width:94.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   padding:0cm 5.4pt 0cm 5.4pt">   <p align="left"><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;;color:#404040;   background:white">安装完后会出现</span><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;   color:#404040;background:white">ride</span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;;color:#404040;   background:white">加载</span><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;   color:#404040;background:white">httplibrary</span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;;color:#404040;   background:white">库标红失败，解决办法手动安装</span><span style="font-family:   &quot;Arial&quot;,sans-serif;color:#4D4D4D;background:white">livetest</span><span style="color:#4D4D4D;background:white">，具体见下面说明</span></p>   </td>  </tr> </tbody></table>  <p align="left">&nbsp;</p>  <p align="left"><strong><span style="font-size: 12.0pt;font-family:宋体;">三、安装后检查：</span></strong></p>  <p align="left" style="margin-left: 21pt; text-indent: -21pt;"><span style="font-size:12.0pt;font-family:宋体;">1.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp; </span></span><span style="font-size:12.0pt; font-family:宋体;">Cmd</span><span style="font-size:12.0pt;font-family:宋体;">命令下执行ride.py，能成功进入ride页面说明robot framework安装成功。</span></p>  <p align="left" style="margin-left: 21pt; text-indent: -21pt;"><span style="font-size:12.0pt;font-family:宋体;">2.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp; </span></span><span style="font-size:12.0pt;font-family:宋体;">配置ride为桌面快捷方式：</span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;; color:#404040;background:white">在</span><span style="font-family: &quot;Segoe UI Emoji&quot;,sans-serif;color:#404040;background:white">RIDE</span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;; color:#404040;background:white">的操作界面，点击</span><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;color:#404040;background:white">Tools</span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;; color:#404040;background:white">下的</span><span style="font-family: &quot;Segoe UI Emoji&quot;,sans-serif;color:#404040;background:white"> Create RIDE Desktop Shortcut </span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;;color:#404040;background:white">在桌面上创建</span><span style="font-family:&quot;Segoe UI Emoji&quot;,sans-serif;color:#404040; background:white"> RIDE </span><span style="Segoe UI Emoji&quot;;Segoe UI Emoji&quot;;color:#404040;background:white">快捷方式即可，具体见下图</span></p>  <p align="left" style="margin-left: 18pt; text-indent: -18pt;">&nbsp;<img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片2.png" width="537" height="378" alt="" /></p>  <p align="left" style="margin-left: 18pt; text-indent: -18pt;"><span style="font-size:12.0pt;font-family:宋体;">3.</span><span style="font-size:7.0pt;font-family:&quot;Times New Roman&quot;,serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size:12.0pt;font-family:宋体;">在ride操作页面新建一个项目，把AutoItLibrary、Selenium2Library类加载，加载中如果不显示红色说明AutoItLibrary、Selenium2Library安装成功。</span></p>  <p align="left" style="margin-left: 18pt; text-indent: -18pt;"><span style="font-size:12.0pt;font-family:宋体;">4.</span><span style="font-size:7.0pt;font-family:&quot;Times New Roman&quot;,serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size:12.0pt;font-family:宋体;">Cmd</span><span style="font-size:12.0pt;font-family:宋体;">命令下执行pip list，可以查看安装的包列表有哪些</span></p>  <p align="left" style="margin: 3.75pt 0cm;">&nbsp;</p>  <p align="left"><strong><span style="font-size: 12.0pt;font-family:宋体;">四、特别说明：</span></strong></p>  <p><strong>问题：python 解决 robotframework RIDE 中导入HttpLibrary库为红色</strong></p>  <p><strong>解决办法：</strong><strong></strong></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><strong>1.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong>检查相关库是否以及安装</strong></p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片3.png" width="883" height="460" alt="" /><br /></p>  <p>jsonpath，jsonpointer 可以直接pip install 进行安装，livetest 需要离线安装，步骤如下：</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><strong>2.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong>下载livetest包，地址：https://pypi.org/project/livetest/#files</strong></p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片4.png" width="883" height="393" alt="" /><br /></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><strong>3.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong>解压并修改相关文件</strong></p>  <p>修改 /livetest-0.5/livetest/init.py文件</p>  <p>修改import httplib 为 import http.client as httplib</p>  <p>修改import urlparse 为 import urllib.parse</p>  <p>修改from Cookie import BaseCookie, CookieError 为 import http.cookiejar</p>  <p>修改所有 except XXXError, e 为 except XXXError as e</p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片5.png" width="883" height="216" alt="" /><br /></p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片6.png" width="883" height="240" alt="" /><br /></p>  <p>修改/livetest-0.5/test/test_select.py文件</p>  <p>修改文件中所有except XXXError, e 为 except XXXError as e</p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片7.png" width="883" height="273" alt="" /><br /></p>  <p>&nbsp;</p>  <p>修改 /livetest-0.5/setup.py文件</p>  <p>修改long_description=file(&#8216;README.rst&#8217;).read() 为 long_description=open(&#8216;README.rst&#8217;).read()</p>  <p>修改version=livetest.version 为 version=&#8216;0.5&#8217;</p>  <p>修改author_email=livetest.author 为 author_email=&#8216;storborg@mit.edu&#8217;</p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片8.png" width="883" height="518" alt="" /><br /></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><strong>4.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong>手动安装livetest</strong></p>  <p><span style="color:#4D4D4D;background:white">在</span><span style="font-family:&quot;Arial&quot;,sans-serif;color:#4D4D4D;background:white">cmd</span><span style="color:#4D4D4D;background:white">中切换路径到</span><span style="font-family:&quot;Arial&quot;,sans-serif;color:#4D4D4D;background:white">\livetest-0.5</span><span style="color:#4D4D4D;background:white">，执行</span><span style="font-family:&quot;Arial&quot;,sans-serif;color:#4D4D4D;background:white"> python setup.py install</span><span style="color:#4D4D4D;background:white">，安装成功。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><strong>5.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong>修改HttpLibrary相关配置</strong></p>  <p>修改__init__.py (文件路径：C:\Python37\Lib\site-packages\HttpLibrary)</p>  <p>修改from urlparse import urlparse 为from urllib.parse import urlparse</p>  <p>修改except ValueError， e为 except ValueError as e (共两处)</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><strong>6.<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong>重启ride，导入正常</strong></p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片9.png" width="882" height="405" alt="" /><br /></p>  <p>&nbsp;</p>  <p align="left"><strong><span style="font-size: 12.0pt;font-family:宋体;">五、验证工具是否能正常使用</span></strong></p>  <p>1.安装Firefox浏览器</p>  <p>2.打开ride工具，加载相关类库，输入如下代码运行，运行成功说明安装成功可用</p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片10.png" width="882" height="553" alt="" /><br /></p>  <p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/图片11.png" width="882" height="555" alt="" /><br /></p>  <p>&nbsp;</p>  <p>&nbsp;</p><p style="background:#F9FCE9"><a href="https://blog.csdn.net/qq_45894553/article/details/119893181"><br /><br /></a></p><img src ="http://www.blogjava.net/lijun_li/aggbug/450903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2023-01-20 19:00 <a href="http://www.blogjava.net/lijun_li/archive/2023/01/20/450903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>记录在windows7下appium安装遇到过的坑！</title><link>http://www.blogjava.net/lijun_li/archive/2017/03/03/432358.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 03 Mar 2017 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2017/03/03/432358.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/432358.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2017/03/03/432358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/432358.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/432358.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>  <p><span style="font-family:宋体;">编写背景：</span></p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">还记得自己第一次安装</span>appium<span style="font-family:宋体;">时，在</span>baidu<span style="font-family:宋体;">和</span>google<span style="font-family:宋体;">上找了很多资料，按照找来的文档，没有一个文档是能完整的从头到尾一次安装成功的，遇到了不少坑，这些坑都是怎么解决的在这里总结，为方便以后自己回头看看。</span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">安装的环境是：</span>windows7<span style="font-family:宋体;">系统</span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">问题一：在线安装</span>appium<span style="font-family:宋体;">，</span>cmd<span style="font-family:宋体;">执行命令：</span><span>npm install &#8211;g appium</span><span style="font-family:宋体;">出现如下错误信息：</span></p>  <p style="text-indent:21.0pt"><span>30658 error Windows_NT 6.1.7601</span></p>  <p style="text-indent:21.0pt"><span>30659 error argv "D:\\Program Files\\nodejs\\node.exe" "D:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "appium-chromedriver"</span></p>  <p style="text-indent:21.0pt"><span>30660 error node v7.1.0</span></p>  <p style="text-indent:21.0pt"><span>30661 error npm&nbsp;v3.10.9</span></p>  <p style="text-indent:21.0pt"><span>30662 error code ELIFECYCLE</span></p>  <p style="text-indent:21.0pt"><span>30663 error appium-chromedriver@2.9.2 install: `node install-npm.js`</span></p>  <p style="text-indent:21.0pt"><span>30663 error Exit status 1</span></p>  <p style="text-indent:21.0pt"><span>30664 error Failed at the appium-chromedriver@2.9.2 install script 'node install-npm.js'.</span></p>  <p style="text-indent:21.0pt"><span>30664 error Make sure you have the latest version of node.js and npm installed.</span></p>  <p style="text-indent:21.0pt"><span>364 error If you do, this is most likely a problem with the appium-chromedriver package,</span></p>  <p style="text-indent:21.0pt"><span>30664 error not with npm itself.</span></p>  <p style="text-indent:21.0pt"><span>30664 error Tell the author that this fails on your system:</span></p>  <p style="text-indent:21.0pt">30664 error<span>&nbsp;&nbsp;&nbsp;&nbsp; node install-npm.js</span></p>  <p style="text-indent:21.0pt"><span>30664 error You can get information on how to open an issue for this project with:</span></p>  <p style="text-indent:21.0pt">30664 error<span>&nbsp;&nbsp;&nbsp;&nbsp; npm bugs appium-chromedriver</span></p>  <p style="text-indent:21.0pt"><span>30664 error Or if that isn't available, you can get their info via:</span></p>  <p style="text-indent:21.0pt">30664 error<span>&nbsp;&nbsp;&nbsp;&nbsp; npm owner ls appium-chromedriver</span></p>  <p style="text-indent:21.0pt"><span>30664 error There is likely additional logging output above.</span></p>  <p style="text-indent:21.0pt"><span>30665 verbose exit [ 1, true ]</span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">解决办法：</span></p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">安装能访问</span><a href="http://www.google.com">www.google.com</a><span style="font-family: 宋体;">网站的</span>VPN<span style="font-family:宋体;">软件，然后再重新安装</span>appium<span style="font-family:宋体;">的低版本，执行命令：</span><span>npm install &#8211;g <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#112;&#112;&#105;&#117;&#109;&#64;&#49;&#46;&#53;">appium@1.5</a></span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">问题二：在线安装</span>appium<span style="font-family:宋体;">，</span>cmd<span style="font-family:宋体;">执行命令：</span><span>npm install &#8211;g appium</span><span style="font-family:宋体;">出现错误提示：</span></p>  <p style="text-indent:21.0pt"><span><span>MSBUILD : error MSB3428: </span></span><span style="font-family:宋体;">未能加载 Visual C++ </span><span style="font-family:宋体;">组件&#8220;VCBuild.exe&#8221;</span><span><span style="font-family: 宋体;">。要解决此问题，</span> 1) </span><span style="font-family:宋体;">安装 .NET Framework 2.0 SDK</span><span style="font-family:宋体;">；2) </span><span style="font-family:宋体;">安装 Microsoft Visual Studio 2005</span><span style="font-family:宋体;">；或 3) </span><span style="font-family:宋体;">如果将该组件安装到了 </span><span style="font-family:宋体;">其他位置，请将其位置添加到系统 </span><span style="font-family:宋体;">路径中。</span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">解决办法：</span></p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">下载</span><span><span>.NET Framework 4.5</span></span><span style="font-family:宋体;">和</span><span>Microsoft Visual C++ 2015 Redistributable (x64)</span><span style="font-family:宋体;">进行安装</span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">问题三：在线安装</span>appium<span style="font-family:宋体;">，</span>cmd<span style="font-family:宋体;">执行命令：</span><span>npm install &#8211;g appium</span><span style="font-family:宋体;">，当</span>appium<span style="font-family:宋体;">版本高于</span>1.6.1<span style="font-family:宋体;">以上，会安装</span>sqlite3<span style="font-family:宋体;">，这时会出现错误提示：</span></p>  <p style="text-indent:21.0pt"><span><a href="http://blog.csdn.net/qq_26819733/article/details/55549241"><strong><span style="font-size:13.5pt;font-family:&quot;microsoft yahei&quot;,&quot;serif&quot;;color:black; background:white;text-decoration:none;text-underline:none">node-pre-gyp install --fallback-to-build</span></strong></a></span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">解决办法一：执行</span><span>npm install &#8211;g grunt-node-inspector </span><span style="font-family:宋体;">安装后，继续安装。</span></p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">解决办法二：降级版本安装，执行安装命令：</span><span>npm install &#8211;g <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#112;&#112;&#105;&#117;&#109;&#64;&#49;&#46;&#53;&#65307;&#97;&#112;&#112;&#105;&#117;&#109;&#49;&#46;&#53;&#29256;&#26412;&#30340;&#23433;&#35013;&#26159;&#19981;&#21253;&#21547;&#115;&#113;&#108;&#105;&#116;&#101;&#51;">appium@1.5<span style="font-family:宋体;">；</span>appium1.5<span style="font-family:宋体;">版本的安装是不包含</span>sqlite3</a></span><span style="font-family:宋体;">。</span></p>  <p style="text-indent:21.0pt">&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">问题四：在线安装</span>appium<span style="font-family:宋体;">，</span>cmd<span style="font-family:宋体;">执行命令：</span><span>npm install &#8211;g <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#112;&#112;&#105;&#117;&#109;&#64;&#49;&#46;&#53;">appium@1.5</a> </span><span style="font-family:宋体;">，当安装到</span>appium-selendroid-driver<span style="font-family:宋体;">组件后会报错。</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! appium-selendroid-driver@1.3.4 install: node ./bin/install.js</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! Exit status 1</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR!</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! Failed at the appium-selendroid-driver@1.3.4 install script 'node ./bin</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">/install.js'.</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! This is most likely a problem with the appium-selendroid-driver package</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! not with npm itself.</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! Tell the author that this fails on your system:</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! node ./bin/install.js</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! You can get their info via:</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! npm owner ls appium-selendroid-driver</span></p>  <p><span style=" font-family:&quot;Helvetica&quot;,&quot;sans-serif&quot;;color:#222527;letter-spacing:.3pt; background:white">npm ERR! There is likely additional logging output above.</span></p>  <p>&nbsp;</p>  <p style="text-indent:21.0pt"><span style="font-family:宋体; color:#222527;letter-spacing:.3pt;background:white">解决办法：通常是网络问题，需要</span><span style="font-family:宋体;">安装能访问</span><a href="http://www.google.com">www.google.com</a><span style="font-family: 宋体;">网站的</span>VPN<span style="font-family:宋体;">软件，然后再重新安装。</span></p>  <p>&nbsp;</p>  <p><span style="font-family:宋体;">最后提醒：安装</span>appium<span style="font-family:宋体;">一定要有耐心、一定要有耐心、一定要有耐心，因为访问国外网站在线安装是需要花时间的；要想安装软件又不影响工作，就要申请一台机器单独弄会省时省力。</span></p>  <p>&nbsp;</p>  <p style="text-indent:21.0pt;"><span style="font-family:宋体;">上面的几个坑，都是在折腾了</span>N<span style="font-family:宋体;">次</span>appium<span style="font-family:宋体;">的版本安装、</span>N<span style="font-family:宋体;">次</span>node<span style="font-family:宋体;">的版本安装后得出的经验。</span></p><img src ="http://www.blogjava.net/lijun_li/aggbug/432358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2017-03-03 18:11 <a href="http://www.blogjava.net/lijun_li/archive/2017/03/03/432358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>手机自动化工具Appium1.5安装说明之windows7</title><link>http://www.blogjava.net/lijun_li/archive/2017/03/03/432357.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 03 Mar 2017 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2017/03/03/432357.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/432357.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2017/03/03/432357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/432357.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/432357.html</trackback:ping><description><![CDATA[<p>&nbsp;</p><div align="center"><span style="font-size: 14pt;">手机自动化工具Appium1.5安装说明之windows7</span></div><span style="font-family:宋体;"></span><p>&nbsp;</p><p><span style="font-family:宋体;">编写背景：</span></p>  <p style="text-indent:21.0pt"><span style="font-family:宋体;">部门内部开始使用</span>robotframework<span style="font-family:宋体;">自动化框架进行网站和手机自动化测试的试运行有</span>3<span style="font-family:宋体;">个月了，今天抽空把安装文档整理整理，共享给需要的同行和新手学习，让大家在安装的过程中少碰到我遇到的坑。</span></p>  <p style="text-indent:21.0pt">&nbsp;</p><p><span style="font-family: 宋体; font-size: 12pt;">目标：在</span><span style="font-size: 12pt;">windows7</span><span style="font-family: 宋体; font-size: 12pt;">安装手机自动化工具</span><span style="font-size: 12pt;">appium</span><span style="font-family: 宋体; font-size: 12pt;">和手机模拟器进行手机软件自动化测试</span></p>  <p>&nbsp;</p>  <p style="margin-left:21.0pt;text-indent:-21.0pt;"><strong><span style="font-family:宋体;">安装准备：</span></strong><span style="font-family: 宋体;">需要准备如下软件，可以自己在网上下载：</span></p>  <p>1.<span style="font-family:宋体;">工具：</span>LoCo<span style="font-family:宋体;">加速器，注意：一定要能访问国外网站，不然在线安装会失败</span></p>  <p>2.java<span style="font-family:宋体;">的</span>JDK<span style="font-family:宋体;">，版本：</span>jdk-6u45-windows-x64</p>  <p>3. Android SDK<span style="font-family:宋体;">，版本：</span>android-studio-bundle-143.2739321-windows</p>  <p>4.nodejs<span style="font-family: 宋体;">，版本：</span>node-v6.8.1-x64</p>  <p><span>5.Microsoft Visual C++ 2015 Redistributable (x64)</span></p>  <p>6.Microsoft .NET Framework 4.5</p>  <p>7.<span style="font-family:宋体;">手机模拟器：夜神模拟器</span></p>  <p>&nbsp;</p>  <p style="margin-left:21.0pt;text-indent:-21.0pt;"><strong><span style="color: red;">一、</span><span style="font-family: 宋体; color: red;">安装软件</span></strong></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>LoCo<span style="font-family:宋体;">加速器：</span>LoCo<span style="font-family:宋体;">加速器下载后，直接点击</span>exe<span style="font-family:宋体;">可执行文件安装即可，安装后用邮箱注册，注册后</span>15<span style="font-family:宋体;">元购买</span>1<span style="font-family:宋体;">个月的服务；然后登录，登录后进行链接操作。链接成功后，访问网站：</span><a href="http://www.google.com">www.google.com</a><span style="font-family:宋体;">能正确显示并搜索出内容，说明成功。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>JDK<span style="font-family:宋体;">安装：下载</span>java<span style="font-family:宋体;">的</span>jdk<span style="font-family:宋体;">后，点击</span>exe<span style="font-family:宋体;">可执行文件安装即可，安装后进行如下配置：</span></p>  <p>1<span style="font-family: 宋体;">）添加系统环境变量：</span>JAVA_HOME<span style="font-family:宋体;">，值：</span>Jdk<span style="font-family:宋体;">的安装路径，如：</span>D:\Java\jdk1.6.0_45</p>  <p>2<span style="font-family: 宋体;">）添加系统环境变量：</span>CLASSPATH<span style="font-family:宋体;">，值：</span></p>  <p>.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;</p>  <p>3<span style="font-family: 宋体;">）修改系统环境变量</span>path<span style="font-family:宋体;">值，加上：</span>%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;</p>  <p style="margin-left:10.5pt; text-indent:0cm;"><span style="font-family:宋体;">检查</span>JAVA<span style="font-family:宋体;">环境是否配置好，进入</span>CMD<span style="font-family:宋体;">命令行，输入</span>java<span style="font-family:宋体;">或</span>javac<span style="font-family:宋体;">，可以看到好多的命令提示，说明成功。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>3.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Android SDK<span style="font-family:宋体;">安装：直接点击</span><span>Android Studio</span><span style="font-family:宋体;">的</span>exe<span style="font-family:宋体;">可执行文件安装即可，安装后进行如下配置：</span></p>  <p style="margin-left:39.0pt;text-indent:-18.0pt;"><span>1）&nbsp;</span><span style="font-family:宋体;">新增系统环境变量</span><span> ANDROID_HOME</span><span style="font-family:宋体;">，值为</span> Android SDK <span style="font-family:宋体;">路径，如：</span>D:\Android\sdk</p>  <p style="margin-left:39.0pt;text-indent:-18.0pt;"><span>2）&nbsp;</span><span style="font-family:宋体;">修改系统环境变量</span>Path<span style="font-family:宋体;">值，加上：</span></p>  <p style="margin-left:39.0pt;text-indent:0cm;">;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>4.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Nodejs<span style="font-family:宋体;">安装：直接点击</span>exe<span style="font-family:宋体;">可执行文件安装即可，安装后在</span>cmd<span style="font-family:宋体;">命令下输入：</span>node &#8211;v<span style="font-family:宋体;">，能看到版本信息说明安装</span>OK<span style="font-family:宋体;">，配置</span>npm<span style="font-family:宋体;">安装文件路径，</span>cmd<span style="font-family:宋体;">命令下输入：</span></p>  <p style="margin-left:18.0pt;text-indent:0cm;"><span>npm config set prefix="D:\\Program Files\\nodejs\\node_global"</span></p>  <p style="margin-left:18.0pt;text-indent:0cm;"><span>npm config set cache="D:\\Program Files\\nodejs\\node_cache"</span></p>  <p style="margin-left:18.0pt;text-indent:0cm;"><span>npm config set init-module="D:\\Program Files\\.npm-init.js"</span></p>  <p style="margin-left:18.0pt;text-indent:0cm;">npm config set tmp="D:\\Program Files\\Temp"</p>  <p style="margin-left:18.0pt;text-indent:0cm;"><span>npm config set userconfig="D:\\Program Files\\.npmrc"</span></p>  <p style="margin-left:18.0pt;text-indent:0cm;"><span style="font-family:宋体;">配置后，通过如下命令可以查看配置信息：</span></p>  <p style="margin-left:21.0pt;">npm config list</p>  <p style="margin-left:21.0pt;">npm config ls -l</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>5.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Microsoft<span style="font-family:宋体;">组件安装：直接点击</span><span>Visual C++ 2015 Redistributable (x64)</span><span style="font-family:宋体;">和</span>.NET Framework 4.5<span style="font-family:宋体;">的</span>exe<span style="font-family:宋体;">安装文件，直接安装即可。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>6.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Appium<span style="font-family:宋体;">安装：</span>cmd<span style="font-family:宋体;">命令下输入如下命令：</span></p>  <p style="margin-left:36.0pt;text-indent:-18.0pt;"><span>1）&nbsp;</span>npm &nbsp;install &nbsp;&#8211;g &nbsp;appium-doctor</p>  <p style="margin-left:36.0pt;text-indent:0cm;"><span style="font-family:宋体;">确保国外网站google能正常访问情况下，在线安装</span>appium-doctor<span style="font-family:宋体;">软件包，安装成功后，在</span>cmd<span style="font-family:宋体;">命令下输入：</span>appium-doctor<span style="font-family:宋体;">，查看</span>appium<span style="font-family:宋体;">安装配置环境是否</span>ok<span style="font-family:宋体;">，都</span>OK<span style="font-family:宋体;">说明配置正常</span></p>  <p style="margin-left:36.0pt;text-indent:-18.0pt;"><span>2）&nbsp;</span>appium-doctor<span style="font-family:宋体;">安装正常后，输入命令：</span>npm install&nbsp;-g&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#112;&#112;&#105;&#117;&#109;&#64;&#49;&#46;&#53;">appium@1.5</a></p>  <p style="margin-left:36.0pt;text-indent:0cm;"><span style="font-family:宋体;">下载的文件内容比较多，一定要确保网络正常，安装时间会比较长，一定要耐心等待。</span></p>  <p style="margin-left:36.0pt;text-indent:-18.0pt;"><span>3）&nbsp;</span>Appium<span style="font-family:宋体;">安装成功后，</span>cmd<span style="font-family:宋体;">命令窗口输入：</span>appium<span style="font-family:宋体;">在界面会显示版本信息</span></p>  <p><img alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/appium.PNG" border="0" height="105" width="661" /></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>7.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">夜神模拟器安装：直接点击</span>exe<span style="font-family:宋体;">文件进行安装即可</span></p>  <p>&nbsp;</p>  <p style="margin-left:21.0pt;text-indent:-21.0pt;"><strong><span style="color: red;">二、</span><span style="font-family: 宋体; color: red;">开始使用</span></strong></p>  <p style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;text-autospace:none" align="left"><span style="font-size:8.5pt;font-family:&quot;MS Shell Dlg 2&quot;,&quot;sans-serif&quot;;MS Shell Dlg 2&quot;;">1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family:宋体;">打开模拟器</span></p>  <p style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;text-autospace:none" align="left"><span><span>2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Cmd<span style="font-family:宋体;">命令窗口输入：</span>adb &nbsp;connect <span style="font-size:8.5pt;font-family:&quot;MS Shell Dlg 2&quot;,&quot;sans-serif&quot;;">127.0.0.1:62001 </span><span style="font-family: 宋体;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;">链接成功后会显示如下信息</span></p>  <p style="text-align:left;text-indent:0cm;text-autospace:none" align="left"><img alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/appium1.PNG" border="0" height="109" width="570" /></p>  <p style="margin-left:18.0pt;text-align:left; text-indent:-18.0pt;text-autospace:none" align="left"><span><span>3.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style=" font-family:&quot;MS Shell Dlg 2&quot;,&quot;sans-serif&quot;;">Cmd</span><span style="font-family:宋体;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;">命令窗口输入：</span><span style="font-family:&quot;MS Shell Dlg 2&quot;,&quot;sans-serif&quot;;">appium </span><span style=" font-family:宋体;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;">启动</span><span style="font-family:&quot;MS Shell Dlg 2&quot;,&quot;sans-serif&quot;;">appium</span><span style=" font-family:宋体;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;MS Shell Dlg 2&quot;;">服务</span></p>  <p style="margin-left: 18pt; text-align: left; text-indent: -18pt;" align="left"><span><span>4.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">打开</span>ride<span style="font-family:宋体;">，加载</span>AppiumLibrary<span style="font-family: 宋体;">类库，编写手机自动化脚本，编写完毕后，点击运行即可</span></p>  <p style="margin-left:18.0pt;text-align:left; text-indent:0cm;text-autospace: none" align="left">&nbsp;</p>  <p style="margin-left:18.0pt;text-align:left; text-indent:0cm;text-autospace: none" align="left"><span style="font-family:宋体;">到此，</span>appium1.5<span style="font-family:宋体;">的安装和使用介绍完毕，预祝大家有个愉快的手机自动化之旅！</span></p><img src ="http://www.blogjava.net/lijun_li/aggbug/432357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2017-03-03 17:05 <a href="http://www.blogjava.net/lijun_li/archive/2017/03/03/432357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自动化工具Robot framework安装说明之windows7</title><link>http://www.blogjava.net/lijun_li/archive/2016/10/25/431926.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Tue, 25 Oct 2016 08:21:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2016/10/25/431926.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/431926.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2016/10/25/431926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/431926.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/431926.html</trackback:ping><description><![CDATA[<p><span style="font-family:宋体;">编写背景：</span></p>  <p style="text-indent:21.0pt">2<span style="font-family:宋体;">年没有更新博客了，自从有娃后时间变得越来越少，深刻体会了当妈的不容易；整理这个文章是为了让部门的新人学习这个工具能轻松的入门第一关：安装，同时希望能帮助到其它同行。</span></p>  <p>&nbsp;</p>  <p><span style="font-family:宋体;">参考资料：</span></p>  <p>http://www.cnblogs.com/puresoul/p/3854963.html</p><p>  </p><p><span>http://www.itest.pro/howto-install-robot-framework-autoit-windows-x64/</span></p>  <p>&nbsp;</p>  <p><strong><span style="font-family:宋体;">一、安装的软件清单见下图：</span></strong></p><p><strong><span style="font-family:宋体;"><img alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/捕获.PNG" height="287" width="486" /></span></strong></p><p>  </p><p><strong><span style="font-family:宋体;">二、安装步骤：</span></strong></p>  <table style="margin-left:-22.95pt;border-collapse:collapse;border:none;" border="1" width="671" cellpadding="0" cellspacing="0">  <tbody><tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right"><span style="font-family:宋体;">顺序</span></p>   </td>   <td style="width:70.9pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p><span style="font-family:宋体;">安装包名</span></p>   </td>   <td style="width:127.55pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p><span style="font-family:宋体;">安装方法</span></p>   </td>   <td style="width:168.35pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><span style="font-family:宋体;">下载地址</span></p>   </td>   <td style="width:101.0pt;border:solid windowtext 1.0pt;   border-left:none;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p><span style="font-family:宋体;">备注</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">1</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>python</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>exe<span style="font-family:宋体;">文件，直接双击安装，安装完设置</span>Python<span style="font-family:宋体;">环境变量</span>,<span style="font-family:宋体;">将&#8220;</span>d:\Python27<span style="font-family:宋体;">&#8221;和&#8220;</span>d:\Python27\Scripts<span style="font-family:宋体;">&#8221;添加到环境变量&#8220;</span>PATH<span style="font-family:宋体;">&#8221;项中</span>(<span style="font-family:宋体;">注意环境变量之间用&#8220;</span>;<span style="font-family:宋体;">&#8221;隔开</span>)</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://www.python.org/download/releases/2.7.12/">https://www.python.org/download/releases/2.7.12/</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p><span style="font-family:宋体;">一切的基础，安装路径不能有空格</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">2</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>setuptools</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p><span style="font-family:宋体;">下载</span>ez_setup.py<span style="font-family:宋体;">文件，把文件放到</span>python<span style="font-family:宋体;">安装目录的</span>scripts<span style="font-family:宋体;">目录下，双击文件名</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://pypi.python.org/pypi/setuptools">https://pypi.python.org/pypi/setuptools</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>Python <span style="font-family:   宋体;">的套件管理程式</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">3</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>pip</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>1.cmd<span style="font-family:   宋体;">进入</span>ez_setup.py<span style="font-family:宋体;">文件目录，如：</span></p>   <p style="margin-left:18.0pt;text-indent:0cm;">d:\Python27\Scripts</p>   <p>2.<span style="font-family:宋体;">用</span>setuptools<span style="font-family:宋体;">安装：</span>easy_install pip</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://pip.pypa.io/en/latest/index.html">https://pip.pypa.io/en/latest/index.html</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>Python <span style="font-family:   宋体;">的套件管理程式</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">4</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p><span style="font-family:宋体;">升级</span>php</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span></p>   <p>pip install --upgrade pip</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><span style="font-family:宋体;">无</span></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p><span style="font-family:宋体;">升级</span>pip<span style="font-family:宋体;">到最新版本</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">5</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>robot framework</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span><span>pip install   robotframework</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://pypi.python.org/pypi/robotframework">https://pypi.python.org/pypi/robotframework</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>robot framework<span style="font-family:宋体;">本身</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">6</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>wxPython</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>exe<span style="font-family:宋体;">文件，直接双击安装</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="http://wxpython.org/download.php#stable">http://wxpython.org/download.php#stable</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p><span style="font-family:宋体;">支撑</span>Ride<span style="font-family:宋体;">的运行库</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">7</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>robotframework-ride</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span>pip install robotframework-ride</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://pypi.python.org/pypi/robotframework-ride">https://pypi.python.org/pypi/robotframework-ride</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>Ride</p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">8</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>robotframework-selenium2library</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span>pip install robotframework-selenium2library</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://pypi.python.org/pypi/robotframework-selenium2library">https://pypi.python.org/pypi/robotframework-selenium2library</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>selenium2<span style="font-family:   宋体;">测试库，基于</span>webdriver<span style="font-family:宋体;">驱动</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">9</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>robotframework-databaselibrary</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span>pip install</p>   <p>robotframework-databaselibrary</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://github.com/franz-see/Robotframework-Database-Library">https://github.com/franz-see/Robotframework-Database-Library</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>DB<span style="font-family:宋体;">库</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">10</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>Pymysql</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span><span>pip install   pymysql</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p>https://pypi.python.org/pypi/pymssql</p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>Mysql<span style="font-family:   宋体;">第三方库</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">11</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>pywin32</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>exe<span style="font-family:宋体;">文件，直接双击安装，注意</span>py<span style="font-family:宋体;">对应的版本</span>2.7</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p>https://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/</p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>AutoItLibrary<span style="font-family:宋体;">安装前提</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">12</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>AutoItV3</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>exe<span style="font-family:宋体;">文件，直接双击安装</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p>http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/</p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>AutoItLibrary<span style="font-family:宋体;">使用前提</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">13</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>AutoItLibrary</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span>pip install</p>   <p>AutoItLibrary</p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p>http://code.google.com/p/robotframework-autoitlibrary/</p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>AutoItLibrary<span style="font-family:宋体;">测试库</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">14</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>Requests</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span><span>pip install   requests</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://pypi.python.org/pypi/requests" target="_blank">https://pypi.python.org/pypi/requests</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>RequestsLibrary<span style="font-family:宋体;">库使用前提</span></p>   </td>  </tr>  <tr>   <td style="width:35.45pt;border:solid windowtext 1.0pt;   border-top:none;   padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="47">   <p style="text-align:right" align="right">15</p>   </td>   <td style="width:70.9pt;border-top:none;border-left:none;   border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="95">   <p>RequestsLibrary</p>   </td>   <td style="width:127.55pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="170">   <p>Cmd<span style="font-family:宋体;">命令执行：</span><span>pip install -U   robotframework-requests</span></p>   </td>   <td style="width:168.35pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="224">   <p><a href="https://github.com/bulkan/robotframework-requests">https://github.com/bulkan/robotframework-requests</a></p>   </td>   <td style="width:101.0pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt" valign="top" width="135">   <p>http request<span style="font-family:宋体;">库</span></p>   </td>  </tr> </tbody></table>  <p>&nbsp;  </p><p><strong><span style="font-family:宋体;">三、安装后检查：</span></strong></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">配置</span>ride<span style="font-family:宋体;">为桌面快捷方式：</span></p>  <p style="margin-left:42.0pt;text-indent:-21.0pt;"><span><span>1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">新建快捷方式，在桌面右击鼠标，弹出的菜单选择</span> <span style="font-family:宋体;">新建</span>-<span style="font-family:宋体;">快捷方式</span> <span style="font-family:宋体;">，然后在</span> <span style="font-family:宋体;">请键入对象</span> <span style="font-family: 宋体;">的位置输入这一行命令，</span><span>C:\Python27\pythonw.exe -c "from robotide import main; main()"</span><span style="font-family: 宋体;">，注意&#8220;</span>C:\Python27\pythonw.exe<span style="font-family:宋体;">&#8221;是</span>python<span style="font-family:宋体;">安装的路径，需要换成你的</span>Python<span style="font-family:宋体;">所在目录的路径；注意双引号为英文。</span></p>  <p style="margin-left:42.0pt;text-indent:-21.0pt;"><span><span>2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">点击下一步，输入你要建立的快捷方式的名称，点击完成，看到图标表示已经建好。</span></p>  <p style="margin-left:42.0pt;text-indent:-21.0pt;"><span><span>3)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">显示不爽，图标要换成机器人图标，需要快捷方式上点击右键</span>-<span style="font-family:宋体;">属性，点击</span>&#8220;<span style="font-family:宋体;">更改图标</span>&#8221;<span style="font-family:宋体;">，在浏览里找到目录</span>F:\Python27\Lib\site-packages\robotide\widgets<span style="font-family:宋体;">，里面有个</span>robot.ico<span style="font-family:宋体;">的图标（大家到自己的安装目录相同路径去找一下）选它之后，点打开，确定之后再确定就可以了，双击图标，进入</span>ride<span style="font-family:宋体;">操作页面</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Cmd<span style="font-family:宋体;">命令下执行</span>ride.py<span style="font-family:宋体;">，能成功进入</span>ride<span style="font-family:宋体;">页面说明</span><span>robot framework</span><span style="font-family:宋体;">安装成功。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>3.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">在</span>ride<span style="font-family:宋体;">操作页面新建一个项目，把</span>AutoItLibrary<span style="font-family:宋体;">、</span>Selenium2Library<span style="font-family:宋体;">类加载，加载中如果不显示红色说明</span>AutoItLibrary<span style="font-family:宋体;">、</span>Selenium2Library<span style="font-family:宋体;">安装成功。</span></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>4.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Cmd<span style="font-family:宋体;">命令下执行</span>pip list<span style="font-family:宋体;">，可以查看安装的包列表有哪些</span></p>  <p style="margin-top:3.75pt;margin-right:0cm;margin-bottom:3.75pt;margin-left: 0cm">&nbsp;</p>  <p>&nbsp;</p>  <p><strong><span style="font-family:宋体;">四、特别说明：</span></strong></p>  <p>1.<span style="font-family:宋体;">安装</span><span>robotframework-selenium2library </span><span style="font-family:宋体;">后会自动安装</span>selenium<span style="font-family:宋体;">的最新</span>3.0<span style="font-family:宋体;">版本，</span>selenium 3.0<span style="font-family:宋体;">以上版本安装后编写的自动化脚本打开</span>firefox<span style="font-family:宋体;">浏览器会失败，</span>robotframework<span style="font-family:宋体;">会报如下错误</span></p>  <p><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></p>  <p><span style="font-family:宋体;">或者这个错误</span></p>  <p><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</span></p>  <p><strong><span style="font-family:宋体;">解决办法：</span></strong></p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">用</span>pip<span style="font-family:宋体;">命令卸载</span>selenium3.0<span style="font-family:宋体;">版本</span>,<span style="font-family:宋体;">命令：</span>pip uninstall selenium</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">下载</span>selenium 2.53.6 <span style="font-family:宋体;">版本，包名：</span>selenium-2.53.6.tar.gz<span style="font-family:宋体;">，下载地址：</span>https://pypi.python.org/pypi/selenium/2.53.6#downloads</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>3)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">安装</span>selenium-2.53.6.tar.gz<span style="font-family:宋体;">；解压</span>selenium-2.53.6.tar.gz<span style="font-family:宋体;">，把解压的文件拷贝到</span>python<span style="font-family:宋体;">安装目录文件夹下，如：</span>D:\Python27\Lib\site-packages<span style="font-family:宋体;">；</span>cmd<span style="font-family:宋体;">进入</span>selenium<span style="font-family:宋体;">解压的文件夹路径，执行如下命令：</span>python setup.py install</p>  <p style="margin-left:18.0pt;text-indent:-18.0pt;"><span><span>4)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>Cmd<span style="font-family:宋体;">执行</span>pip list <span style="font-family:宋体;">查看安装的</span>selenium<span style="font-family:宋体;">版本是否正确</span></p>    <p><strong>2.python</strong><strong><span style="font-family:宋体;">下如何安装</span>.whl</strong><strong><span style="font-family:宋体;">包？</span></strong></p>  <p><span style="font-family:宋体;">答：</span>pip install wheel<span style="font-family:宋体;">；先安装</span>wheel<span style="font-family:宋体;">，然后</span>pip install <span style="font-family:宋体;">包名字</span>.whl <span style="font-family:宋体;">即可安装</span>.whl<span style="font-family:宋体;">包。</span></p>    <p><strong><span style="font-family:宋体;">五、安装过程遇到的问题汇总：</span></strong></p>  <p><span style="font-family:宋体;">问：</span>Python<span style="font-family:宋体;">有两个版本：</span>2.X<span style="font-family:宋体;">和</span>3.X<span style="font-family:宋体;">，装那个版本比较好？</span></p>  <p><span style="font-family:宋体;">答：由于</span>windows7<span style="font-family:宋体;">下，</span>Python <span style="font-family:宋体;">对应的</span>wxPython <span style="font-family:宋体;">版本只支持</span> 2.x <span style="font-family:宋体;">不支持</span>3.x<span style="font-family:宋体;">，因此</span>Python<span style="font-family:宋体;">目前只能装</span>2.x<span style="font-family:宋体;">版本</span></p>    <p><span style="font-family:宋体;">问：</span>pip<span style="font-family:宋体;">安装完毕后，如何升级？</span></p>  <p><span style="font-family:宋体;">答：使用命令：</span>pip install --upgrade pip</p>    <p><span style="font-family:宋体;">问：</span>win76<span style="font-family:宋体;">下安装</span>autoitlibrary<span style="font-family:宋体;">失败</span></p>  <p><span style="font-family:宋体;">答：必须先安装</span>pywin32<span style="font-family:宋体;">，并且</span>Python<span style="font-family:宋体;">的安装目录不能有空格，如果有空格会导致注册</span>autoit<span style="font-family:宋体;">的</span>dll<span style="font-family:宋体;">时出错</span></p>  <p style="margin-top:3.75pt;margin-right:0cm;margin-bottom:3.75pt;margin-left: 0cm">&nbsp;</p><p><span style="font-family:宋体;">到此，安装完毕，可以用</span>ride<span style="font-family:宋体;">编写自己的自动化测试脚本，开始自动化测试之旅！！！</span>^_^<span style="font-family:宋体;">。</span></p>  <p><br /></p>  <p><br /><strong><span style="font-family:宋体;"></span></strong></p><p><strong><span style="font-family:宋体;"><br /></span></strong></p><img src ="http://www.blogjava.net/lijun_li/aggbug/431926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2016-10-25 16:21 <a href="http://www.blogjava.net/lijun_li/archive/2016/10/25/431926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby on rails 之 简介 </title><link>http://www.blogjava.net/lijun_li/archive/2012/11/07/390934.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Wed, 07 Nov 2012 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/11/07/390934.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/390934.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/11/07/390934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/390934.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/390934.html</trackback:ping><description><![CDATA[
<p>编写背景：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Klobo离职已经3周了，接手自动化缺货监控报告工具也3周了，有一部分功能用到了ruby on rails，业务部门提出了个新需求，以后每天都要抽一些时间来学习学习才能搞定这个工具的维护，同时为以后自己搭建自动化测试工具框架做准备。今天就从最基础的开始。</p><blockquote style="margin-right: 0px;" dir="ltr"><p>本文资料来源：<a href="http://zh.wikipedia.org/wiki/Ruby_on_Rails">http://zh.wikipedia.org/wiki/Ruby_on_Rails</a><br /></p><p><strong>简介</strong><br />&nbsp;&nbsp;&nbsp; Ruby on Rails 是一个可以使你开发，部署，维护 web 应用程序变得简单的框架。<br />&nbsp;&nbsp;&nbsp; Ruby on Rails，简称Rails，是一个使用Ruby语言写的开源Web应用框架，它是严格按照MVC结构开发的。它努力使自身保持简单，来使实际的应用开发时的代码更少，使用最少的配置。<br />&nbsp;&nbsp;&nbsp; Ruby on Rails是一种结合Ruby语言与Rails平台的一种网页编程语言，Ruby语言以自然、简洁、快速著称，全面支持面向对象程序设计，而Rails则是Ruby广泛应用方式之一，在Rails平台上设计出一套独特的MVC开发架构，采取模型（Model）、外观（View）、控制器（Controller）分离的开发方式，不但减少了开发中的问题，更简化了许多繁复的动作。<br />&nbsp;&nbsp;&nbsp; Rails的设计原则包括&#8220;不做重复的事&#8221;（Don't Repeat Yourself）和&#8220;惯例优于设置&#8221;（Convention Over Configuration）。<br /></p><p><strong>来历</strong><br />&nbsp;&nbsp;&nbsp; Ruby的作者于1993年2月24日开始编写Ruby，直至1995年12月才正式公开发布于fj（新闻组）。之所以称为Ruby，是因为Perl的发音与6月的诞生石pearl（珍珠）相同，因此Ruby以7月的诞生石ruby（红宝石）命名。<br />&nbsp;&nbsp;&nbsp; 2004年7月，Rails的创始人大卫&#8226;海纳梅尔&#8226;韩森从37signals公司的项目管理工具Basecamp里面分离出Ruby on Rails，并且以开源方式发布。<br />&nbsp;&nbsp;&nbsp; Rails在发布以后的短短的时间内就迅速获得很多开发人员欢迎，大卫认为这归功于Rails设计为opinionated software。Rails当中有很多规矩从一开始就按照David的意见制定好了，所以在Rails上开发应用程序时，开发人员可以专注于应用程序自 身的设计，省却那些花在了解及配置基础框架上面的时间。这也正是Rails很重要的精神&#8220;约定优于配置&#8221;，开发人员遵照Rails本身的惯例便可以省却配置组态档的时间；此外，Rails虽然强调惯例的重要及便利性，但针对不同的需求，Rails也提供修改的空间让开发人员可以进行自定义的组态。<br /></p><p><strong>运作模式</strong><br />&nbsp;&nbsp;&nbsp; Rails框架是以固定的命名习惯来自动判断整个架构，默认下会将网址分析成<a href="http://domain-name/ControllerName">http://domain-name/ControllerName</a> /ActionName/Attribute/ 然后运行目标Controller中的Action，并取出指定的View（视图）回传给浏览器显示。面对数据库则以Model（模块）的形式，借由Active Record作为与数据库之间的传输接口。<br /></p><p><strong>Rails的MVC架构</strong><br />&nbsp;&nbsp;&nbsp; Ruby on Rails的模型-视图-控制器架构由以下各部分组成：<br /><strong>&nbsp;&nbsp;&nbsp; 模型</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 模型包含着应用的状态，状态可能是临时的也可能是长久性保存在数据库中的。需要注意的是模型不仅包含数据，而且包含数据代表的逻辑。在Rails中，模型通常是由一些代表关系数据库中RDBMS表的类组成的。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在RoR中，模型类是通过Active Record模式进行处理的。一般来说，程序员要做的是继承ActiveRecord类，同时程序会自动计算出要使用哪个RDBMS表，这个表有哪些列。表与表之间的关系通过简单的命令来指明。<br /><strong>&nbsp;&nbsp;&nbsp; 控制器</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制器将用户界面和数据模型关联起来，并充当协调运作的角色。它接收各种用户操作，更新数据模型，并用合适的view展示结果给用户。像他的名字一样，可以说应用的主要控制中心就是各个控制器。<br /><strong>&nbsp;&nbsp;&nbsp; 视图</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View负责根据Model中的数据显示用户界面。作为web应用，Rails里的View通常是生成整个或者部分网页。当然可以是XML或者甚至是JavaScript代码。表现为使用内嵌Ruby的HTML／XML／JavaScript模板。</p><p><strong>&nbsp;&nbsp;&nbsp; Rails的组成模块</strong><br />Rails使用如下Gems<br />actionmailer (1.3.2)<br />&nbsp;&nbsp;&nbsp; Service layer for easy email delivery and testing.<br />actionpack (1.13.2)<br />&nbsp;&nbsp;&nbsp; Web-flow and rendering framework putting the VC in MVC.<br />actionwebservice (1.2.2)<br />&nbsp;&nbsp;&nbsp; Web service support for Action Pack.<br />activerecord (1.15.2)<br />&nbsp;&nbsp;&nbsp; Implements the ActiveRecord pattern for ORM.<br />activesupport (1.4.1)<br />&nbsp;&nbsp;&nbsp; Support and utility classes used by the Rails framework.<br />rails (1.2.2)<br />&nbsp;&nbsp;&nbsp; Web-application framework with template engine, control-flow layer, and ORM.<br />模型：Active Record<br />ActiveRecord实现了Rails的对象关系映射。<br />控制器和视图：ActionPack<br />ActionController是Rails中的控制器，提供各种方法供用户操作使用。<br />ActionView是Rails中的视图，负责展现用户界面。<br />常用实用工具：ActiveSupport<br />ActiveSupport包提供一些工具和支持代码。<br />处理邮件：ActionMailer<br />ActionMailer用来发送和接收email。<br />Web服务：ActionWebService<br />ActionWebService来提供SOAP和XML-RPC支持。需要注意的是，Rails趋向使用更加简单明了的REST方式web服务而不再提倡SOAP格式的web服务。ActionWebServices在未来的版本里面会逐步淡出。<br />网络资源：ActionResource<br />用REST对Web服务提供了优秀的支持。这种风格的Web服务使用指定的资源。<br /></p><p><strong>Rails中的AJAX</strong><br />AJAX（异步JavaScript与XML）是一种异步传输接口，可以借由浏览器使用JavaScript和XML来处理传输请求，而将Web服务器作为后台来处理，这样无须载入额外的网页。Rails自带有Prototype包 来实现这个技术。Ajax已经和Ruby on Rails结合在了一起成为了一个新的系统叫做&#8220;Ajax on Rails&#8221;。Rails提供一些助手工具来更方便地实现AJAX应用。 Rails提供了一些Helper，可以在服务器一端用纯Ruby语言生成给浏览器用的JavaScript代码，从而让Rails的开发者不需掌握 JavaScript就可以简单方便的开发出AJAX的应用。<br /></p><p><strong>Rails和Web服务</strong><br />稍早的版本的Rails中提供了ActionWebService作为开发XML-RPC和SOAP的web服务的基础。但是最近的Rails 1.2更加倾向于是用REST方式的web服务，而ActionWebService在Rails 2.0中作为plugin而不再是rails核心的一部分。<br /></p><p><strong>Web服务器支持</strong><br />对于开发和测试来说，一个很轻量的WEBrick网页服务器已经被包含在了Ruby中，常被用来作为应用服务器。而对于生产应用，常推荐使用带FastCGI的Apache或者Lighttpd，但任何支持CGI或者FastCGI的网页服务器都可以使用。在Apache上，mod_ruby也可以考虑用来提高性能。<br /></p><p><strong>数据库支持</strong><br />使用Rails的架构开发网络应用一般都使用数据库，所以推荐使用一个关系数据库系统来进行数据存储，若不能运行一个关系数据库服务器，Rails也支持SQLite库。很多关系数据库系统都支持，包括MySQL、PostgreSQL、SQLite、IBM DB2、Oracle和SQL Server。<br /></p><p><strong>系统要求</strong><br />&#8226; Ruby语言<br />&#8226; Web服务器，如Apache、lighttpd等。<br />&#8226; FastCGI，或者Mongrel为了提高效率<br />&#8226; 数据库和驱动程序<br /><strong><br />集成开发环境</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开发用的IDE有：Eclipse , IntelliJ, Aptana。<br /></p><p><strong>类似的框架</strong><br />&#8226; CakePHP<br />&#8226; Django<br />&#8226; TurboGears<br />&#8226; CodeIgniter</p></blockquote> 
<img src ="http://www.blogjava.net/lijun_li/aggbug/390934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2012-11-07 11:37 <a href="http://www.blogjava.net/lijun_li/archive/2012/11/07/390934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby+watir之自动化测试脚本编写规范！！！</title><link>http://www.blogjava.net/lijun_li/archive/2010/07/22/326820.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 22 Jul 2010 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2010/07/22/326820.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/326820.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2010/07/22/326820.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/326820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/326820.html</trackback:ping><description><![CDATA[&nbsp;
<p><span style="font-family: 宋体">编写背景：</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">测试组团队经过</span>1<span style="font-family: 宋体">年多的实战，测试工作流程及规范大家都已经明白并能很好的完成每个月的测试任务；下半年要向工作质量和工作效率迈上一个台阶，需要发挥大家的力量；自动化测试脚本编写这几个月在测试任务中让大家感受了一把；大家都认识到，要想让这些自动化测试脚本能高效的维护、使用，让新人和老人更容易的明白这些代码，我们需要一个自动化测试脚本编写的规范。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">经过大家的努力，得出了这么个初稿，放在这里和大家交流交流，希望有经验的同行能给些建议。<br />
<br />
</span></p>
<h3 style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: 宋体"><br />
<span style="font-family: 宋体"><span style="font-size: 12pt"><span style="font-family: 宋体">一、命名</span><span style="font-family: 宋体">规范</span></span></span></span></h3>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">1.1 <span style="font-family: 宋体">全体</span></h4>
<p style="margin-left: 35.7pt; text-indent: -17.85pt; text-align: left; tab-stops: list 36.0pt" align="left"><span style="color: black; font-family: Arial">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">原则上不使用单词的省略词。</span></p>
<p style="margin-left: 35.7pt; text-indent: -17.85pt; text-align: left; tab-stops: list 36.0pt" align="left"><span style="color: black; font-family: Arial">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">对于作用域小的循环变量，以</span><span style="color: black; font-family: Arial">i, j, k</span><span style="color: black; font-family: 宋体">这样的名字顺序使用。</span></p>
<p style="margin-left: 35.7pt; text-indent: -17.85pt; text-align: left; tab-stops: list 36.0pt" align="left"><span style="color: black; font-family: Arial">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">对于作用域小的变量名，可以使用类名的省略语。</span><span style="color: black; font-family: Arial"> (</span><span style="color: black; font-family: 宋体">例</span><span style="color: black; font-family: Arial">: </span><span style="color: black; font-family: Arial">eo = ExampleObject.new</span><span style="color: black; font-family: Arial">)</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">1.2 <span style="font-family: 宋体">类名和模块名</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">类以及模块名</span><span style="color: black; font-family: 宋体">、各单词的每头一个字母大写，不要使用&#8220;</span><span style="color: black; font-family: Arial">_</span><span style="color: black; font-family: 宋体">&#8221;下划线等分隔符。但是，像</span><span style="color: black; font-family: Arial">HTTP</span><span style="color: black; font-family: 宋体">这样的通用缩略语，全都照样大写。名称最好使用&#8220;名词&#8221;或者&#8220;形容词</span><span style="color: black; font-family: Arial">+</span><span style="color: black; font-family: 宋体">名词&#8221;</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">正例：</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">OtherClass</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">HTTPClient</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">误</span></strong><strong><span style="color: black; font-family: 宋体">例：</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">Other_Class</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">OTHERCLASS</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">HttpClient</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">HTTPclient</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">HTTP_Client</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">1.3 <span style="font-family: 宋体">方法名</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">方法名全都小写、各个单词之间用&#8220;</span><span style="color: black; font-family: Arial">_</span><span style="color: black; font-family: 宋体">&#8221;分隔。方法名中使用&#8220;动词&#8221;或者&#8220;动词</span><span style="color: black; font-family: Arial">+</span><span style="color: black; font-family: 宋体">名词&#8221;</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">正例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">add_something</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">误例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">addsSomething</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">Add_Something</span></p>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">返回真假值的方法的命名，在动词或形容词后追加&#8220;</span><span style="color: black; font-family: Arial">?</span><span style="color: black; font-family: 宋体">&#8221;，对形容词，不用添加&#8220;</span><span style="color: black; font-family: Arial">is_</span><span style="color: black; font-family: 宋体">&#8221;。</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">正例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">visible?</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">误例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">is_visible</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">is_visible?</span></p>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">另外，在使用具有破坏性和非破坏性的方法时候，要在破坏性的方法名后追加&#8220;</span><span style="color: black; font-family: Arial">!</span><span style="color: black; font-family: 宋体">&#8221;。</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">split</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">split! # </span><span style="color: black; font-family: 宋体">具有破坏性的</span><span style="color: black; font-family: Arial">split</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">1.4 <span style="font-family: 宋体">常数名</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">类和模块名以外的常数名，全都用大写，单词之间用&#8220;</span><span style="color: black; font-family: Arial">_</span><span style="color: black; font-family: 宋体">&#8221;来分隔。</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">EXAMPLE_CONSTANT</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">1.5 <span style="font-family: 宋体">变量名</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">对于变量名，全都用小写，单词之间用&#8220;</span><span style="color: black; font-family: Arial">_</span><span style="color: black; font-family: 宋体">&#8221;来分隔。全局变量以</span><span style="color: black; font-family: Arial">$</span><span style="color: black; font-family: 宋体">开头，实例变量以</span><span style="color: black; font-family: Arial">@</span><span style="color: black; font-family: 宋体">开头，类变量以</span><span style="color: black; font-family: Arial">2</span><span style="color: black; font-family: 宋体">个</span><span style="color: black; font-family: Arial">@</span><span style="color: black; font-family: 宋体">开头。</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">tmp</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">local_variable</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">@instance_variable</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">$global_variable</span></p>
<p style="margin: 0cm 0cm 12pt 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">@@class_variable</span></p>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">变量名称要能清晰表达该变量的含义，如</span><span style="color: black; font-family: Arial">order_state</span><span style="color: black; font-family: 宋体">，记录订单的状态</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">1.6 <span style="font-family: 宋体">文件名</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">文件名全都使用小写字母，单词之间用&#8220;</span><span style="color: black; font-family: Arial">_</span><span style="color: black; font-family: 宋体">&#8221;来分隔。另外，可以把文件中的已经变换的主要类名作为文件名来使用。</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">foo.rb # </span><span style="color: black; font-family: 宋体">定义了</span><span style="color: black; font-family: 宋体">类</span><span style="color: black; font-family: Arial">Foo</span></p>
<p style="margin-left: 42pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">foo_bar.rb # </span><span style="color: black; font-family: 宋体">定义了</span><span style="color: black; font-family: 宋体">类</span><span style="color: black; font-family: Arial">FooBar<br />
</span></p>
<h3 style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: 宋体"><br />
二、代码排版规范</span></h3>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">2.1 <span style="font-family: 宋体">注释风格</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">注释的位置应与被描述的代码相邻，可以放在代码的上方或右方，不要放在代码的下方；注释内容应明确表达被注释代码的含义。</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">例：</span></strong></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # Return a Watir::IE object for an existing IE window. Window can be</span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # referenced by url, title, or window handle.</span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # Second argument can be either a string or a regular expression in the </span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # case of of :url or :title. </span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # IE.attach(:url, 'http://www.google.com')</span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # IE.attach(:title, 'Google')</span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # IE.attach(:hwnd, 528140)</span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # This method will not work when</span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp; # Watir/Ruby is run under a service (instead of a user).</span></p>
<p style="margin-left: 21pt"><span style="font-family: Arial">defself.attach(how, what)</span></p>
<p style="margin-left: 21pt"><span style="font-family: Arial">ie = new true # don't create window</span></p>
<p style="margin-left: 21pt"><span style="font-family: Arial">ie._attach_init(how, what)</span></p>
<p style="margin-left: 21pt"><span style="font-family: Arial">ie</span></p>
<p style="margin-left: 21pt"><span style="font-family: Arial">end</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">2.2 <span style="font-family: 宋体">代码格式</span></h4>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-size: 12pt">&nbsp;&nbsp; 2.2.1</span><span style="font-size: 12pt; font-family: 宋体">代</span><span style="font-size: 12pt; font-family: 宋体">码</span><span style="font-size: 12pt; font-family: 宋体">空格</span></h4>
<ol style="margin-top: 0cm" type="1">
    <li style="tab-stops: list 36.0pt"><span style="font-family: 宋体">逗号&#8220;，&#8221;、分号&#8220;；&#8221;之后要留空格</span>
    <li style="tab-stops: list 36.0pt"><span style="font-family: 宋体">赋值操作符、比较操作符、算术操作符、逻辑操作符，如&#8220;</span><span style="font-family: Arial">=</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">+=</span><span style="font-family: 宋体">&#8221;&#8220;</span><span style="font-family: Arial">&gt;=</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">&lt;=</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">+</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">*</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">%</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">&amp;&amp;</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">||</span><span style="font-family: 宋体">&#8221;等二元操作符的前后都加空格或者前后都不加空格。</span> </li>
</ol>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">正例：</span></strong></p>
<p style="margin-left: 46.5pt"><span style="font-family: Arial">a+b</span></p>
<p style="margin-left: 46.5pt"><span style="font-family: Arial">a + b</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">误例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 46.5pt"><span style="font-family: Arial">a+ b</span></p>
<p style="margin-left: 46.5pt"><span style="font-family: Arial">a +b</span></p>
<ol style="margin-top: 0cm" type="1" start="3">
    <li style="tab-stops: list 36.0pt"><span style="font-family: 宋体">一元操作符如&#8220;</span><span style="font-family: Arial">!</span><span style="font-family: 宋体">&#8221;、&#8220;</span><span style="font-family: Arial">~</span><span style="font-family: 宋体">&#8221;以及&#8220;［］&#8221;、&#8220;</span><span style="font-family: Arial">.</span><span style="font-family: 宋体">&#8221;、&#8220;：：&#8221;这类操作符前后不加空格。</span>
    <li style="tab-stops: list 36.0pt"><span style="font-family: 宋体">函数名之后不要留空格</span> </li>
</ol>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp; 2.2.2</span><span style="font-size: 12pt; font-family: 宋体">代码缩进</span></h4>
<p style="text-indent: 21pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">为了增加程序的可读性而进行的适当的缩进，缩进的幅度以</span><span style="color: black; font-family: Arial">2</span><span style="color: black; font-family: 宋体">个字符为宜。另外，缩进的时候，只可使用空格，不可使用</span><span style="color: black; font-family: Arial">TAB</span><span style="color: black; font-family: 宋体">（编程工具不同的时候，看起来会不一样）</span></p>
<p style="margin-left: 42pt; text-align: left" align="left"><strong><span style="color: black; font-family: 宋体">例</span></strong><strong><span style="color: black; font-family: Arial">:</span></strong></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">if x &gt; 0</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">&nbsp;if y &gt; 0</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">&nbsp;&nbsp;&nbsp; puts "x &gt; 0 &amp;&amp; y &gt; 0"</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">&nbsp;end</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="color: black; font-family: Arial">end</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp; 2.2.3</span><span style="font-size: 12pt; font-family: 宋体">空行</span></h4>
<p style="text-indent: 21pt"><span style="font-family: 宋体">同一函数内，不同含义的代码段之间空一行；不同函数和不同类之间空两行</span></p>
<h4 style="margin: 0cm 0cm 0pt; line-height: normal">2.3.<span style="font-family: 宋体">输出检查点的格式</span></h4>
<p style="text-indent: 21pt"><span style="font-family: 宋体">输出检查点采用&#8220;</span><span style="font-family: Arial">---</span><span style="font-family: 宋体">输出语句</span><span style="font-family: Arial">---</span><span style="font-family: 宋体">&#8221;格式，输出语句应简洁清晰的表达意思。<br />
</span></p>
<h3 style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: 宋体"><br />
三、代码示例</span></h3>
<p style="text-indent: 21pt"><span style="font-family: 宋体">代码示例如下图<br />
</span></p>
<img src ="http://www.blogjava.net/lijun_li/aggbug/326820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2010-07-22 11:33 <a href="http://www.blogjava.net/lijun_li/archive/2010/07/22/326820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源Ruby+Watir自动化测试工具介绍+安装说明！！！</title><link>http://www.blogjava.net/lijun_li/archive/2009/09/24/296332.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 24 Sep 2009 10:59:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2009/09/24/296332.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/296332.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2009/09/24/296332.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/296332.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/296332.html</trackback:ping><description><![CDATA[&nbsp;
<p><span style="font-family: 宋体">编写背景：</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">有半年多没有写</span><strong><span style="color: #202020; font-family: Verdana">Ruby+Waitr</span></strong><span style="font-family: 宋体">的自动化测试脚本了，今天开始封网测试机器会被关闭，赶着这段国庆空闲时间，好好整整开源的自动化测试工具，争取淮海战役打完后，组织测试组的帅哥美女们开始写些自动化测试代码，为明年的测试工作效率提升打基础。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">好久没装，今天费了一上午终于给装上了，这次要好好整理出文档才行，便于下次使用时可查阅，同时共享给对这方面感兴趣的测试同行。</span></p>
<p><strong><span style="font-size: 12pt; font-family: 宋体">一、工具介绍：</span></strong></p>
<p><strong><span style="color: #202020; font-family: Verdana">Ruby</span></strong>&nbsp;<span style="color: black; font-family: Arial">Ruby</span><span style="color: black; font-family: 宋体">是面向对象的编程语言，它追求的是</span><span style="color: black; font-family: ˎ̥">&#8220;</span><span style="color: black; font-family: 宋体">简便快捷的面向对象编程</span><span style="color: black; font-family: ˎ̥">&#8221;</span><span style="color: black; font-family: 宋体">。</span><span style="color: black; font-family: Arial">Ruby</span><span style="color: black; font-family: 宋体">是解释型语言，因此不需编译即可快捷地编程。同时</span><span style="color: black; font-family: Arial">Ruby</span><span style="color: black; font-family: 宋体">具有类似</span><span style="color: black; font-family: Arial">Perl</span><span style="color: black; font-family: 宋体">的强大的文本处理功能，它可并不只是个玩具，您可以用它来进行实用的编程。此外，您还可以很方便地使用</span><span style="color: black; font-family: ˎ̥">C</span><span style="color: black; font-family: 宋体">语言来扩展</span><span style="color: black; font-family: Arial">Ruby</span><span style="color: black; font-family: 宋体">的功能，因此可以把她当作各种库的前端来使用。</span></p>
<p><strong><span style="color: #202020; font-family: Verdana">Watir</span></strong>&nbsp;<span style="color: black; font-family: Arial">Watir( Web Application Testing in Ruby) </span><span style="color: black; font-family: 宋体">是一个优秀的开源工具，用于开发基于</span><span style="color: black; font-family: Arial">Web </span><span style="color: black; font-family: 宋体">应用的自动化测试程序。它使用</span><span style="color: black; font-family: Arial">Ruby </span><span style="color: black; font-family: 宋体">脚本语言，提供了轻量级的自动化测试程序框架和丰富的开发库，有效地加速了自动化测试程序开发。</span></p>
<p><a name="2.Watir的主要特性以及使用Watir开发自动化程序的优势|outline"><strong><span style="color: #202020; font-family: Verdana">Watir </span></strong></a><strong><span style="color: #202020; font-family: 宋体">的主要特性以及使用</strong></span><strong><span style="color: #202020; font-family: Verdana"> Watir </strong></span><strong><span style="color: #202020; font-family: 宋体">开发自动化程序的优势</strong></span></p>
<p style="text-indent: 26.25pt"><span style="color: black; font-family: Arial">Watir</span><span style="color: black; font-family: 宋体">是一个轻量级的用于开发基于</span><span style="color: black; font-family: Arial">Web</span><span style="color: black; font-family: 宋体">应用的自动化测试框架，它基于</span><span style="color: black; font-family: Arial">Ruby</span><span style="color: black; font-family: 宋体">语言，提供了丰富的开发库，简化了自动化测试程序开发。下面我们总结了</span><span style="color: black; font-family: Arial">Watir</span><span style="color: black; font-family: 宋体">的主要一些优良特性：</span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: ˎ̥">Watir </span><span style="color: black; font-family: 宋体">基于</span><span style="color: black; font-family: ˎ̥"> Ruby </span><span style="color: black; font-family: 宋体">语言。</span><span style="color: black; font-family: ˎ̥"> Ruby </span><span style="color: black; font-family: 宋体">是面向对象语言，功能强大，简单易用。程序解释执行不用编译；</span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: ˎ̥">Watir </span><span style="color: black; font-family: 宋体">支持多种操作系统平台，包括</span><span style="color: black; font-family: ˎ̥"> Windows, Mac, Linux </span><span style="color: black; font-family: 宋体">；同时支持多种主流浏览器，如</span><span style="color: black; font-family: ˎ̥"> IE, Firefox, Chrome </span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: ˎ̥">Watir </span><span style="color: black; font-family: 宋体">提供了丰富的开发库，封装了包括浏览器窗口</span><span style="color: black; font-family: ˎ̥"> windows</span><span style="color: black; font-family: 宋体">，</span><span style="color: black; font-family: ˎ̥">button, link, dialog, image, table, div </span><span style="color: black; font-family: 宋体">等绝大多数</span><span style="color: black; font-family: ˎ̥"> HTML </span><span style="color: black; font-family: 宋体">对象类型，方便测试人员快速构建自动化测试程序。</span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: ˎ̥">Ruby </span><span style="color: black; font-family: 宋体">提供了强大的交互命令工具</span><span style="color: black; font-family: ˎ̥"> IRB</span><span style="color: black; font-family: 宋体">（</span><span style="color: black; font-family: ˎ̥">Interactive Ruby Shell</span><span style="color: black; font-family: 宋体">）</span><span style="color: black; font-family: ˎ̥">, </span><span style="color: black; font-family: 宋体">在</span><span style="color: black; font-family: ˎ̥"> Watir </span><span style="color: black; font-family: 宋体">程序开发中，我们使用</span><span style="color: black; font-family: ˎ̥"> IRB </span><span style="color: black; font-family: 宋体">调试代码。别于传统调试方法，测试人员可以就单独一条命令或者一段程序进行调试，从而能够快速定位错误，节省调试时间。</span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: ˎ̥">Ruby </span><span style="color: black; font-family: 宋体">提供了</span><span style="color: black; font-family: ˎ̥"> Test::Unit </span><span style="color: black; font-family: 宋体">单元测试框架，通过继承该框架，我们可以对测试用例，测试用例集</span><span style="color: black; font-family: ˎ̥"> (Test Suites) </span><span style="color: black; font-family: 宋体">进行灵活方便地组合和调用，并且可利用断言</span><span style="color: black; font-family: ˎ̥"> (Assertion) </span><span style="color: black; font-family: 宋体">来验证测试结果。</span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">其他脚本语言如</span><span style="color: black; font-family: ˎ̥"> Perl, Python, Shell </span><span style="color: black; font-family: 宋体">等也可以很好地集成到</span><span style="color: black; font-family: ˎ̥"> Watir </span><span style="color: black; font-family: 宋体">程序中。</span></p>
<p style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt"><span style="color: black; font-family: Wingdings">l<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: ˎ̥">Watir </span><span style="color: black; font-family: 宋体">程序在运行时，允许测试人员在该测试机器上访问其他网页或者进行其他操作而不会影响到对象识别的结果。</span></p>
<p><strong><span style="font-size: 12pt; font-family: 宋体">二、开源自动化测试工具组合：</span></strong><strong><span style="color: #202020; font-family: Verdana">Ruby+Watir</span></strong><strong><span style="font-size: 12pt; font-family: 宋体">安装</span></strong></p>
<p><strong><span style="color: #202020; font-family: 宋体">安装准备：</span></strong></p>
<p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><strong>1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-family: 宋体">工具安装包准备：</span></strong></p>
<p><span style="color: black; font-family: Arial">Ruby</span><span style="font-family: 宋体">官方下载地址：</span><a href="http://www.ruby-lang.org/zh_cn/downloads/">http://www.ruby-lang.org/zh_cn/downloads/</a><span style="font-family: 宋体">，稳定版本</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">Ruby 1.8.6</span></strong></p>
<p><span style="color: black; font-family: Arial">Watir</span><span style="font-family: 宋体">下载地址：</span><a href="http://rubyforge.org/frs/?group_id=104&amp;release_id=28016">http://rubyforge.org/frs/?group_id=104&amp;release_id=28016</a><span style="font-family: 宋体">，建议装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">watir 1.5.2</span></strong></p>
<p><span style="color: black; font-family: Arial">Firefox</span><span style="font-family: 宋体">下载地址：</span><a href="http://www.hacker.cn/Get/gjrj/06102608545293311.shtml">http://www.hacker.cn/Get/gjrj/06102608545293311.shtml</a><span style="font-family: 宋体">，建议装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">2.0</span></strong></p>
<p><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">Gem</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">下载地址：</span></strong><a href="http://rubyforge.org/frs/?group_id=104&amp;release_id=28016">http://rubyforge.org/frs/?group_id=104&amp;release_id=28016</a><span style="font-family: 宋体">，</span></p>
<p><span style="font-family: 宋体">建议装：</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">rubygems-update-1.3.4.gem</span></strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong><span style="color: black; font-family: Arial">Firefox</span></strong><strong><span style="color: black; font-family: 宋体">插件</span></strong><strong><span style="color: black; font-family: Arial">jssh</span></strong><strong><span style="color: black; font-family: 宋体">、</span></strong><strong><span style="color: black; font-family: Arial">firebug</span></strong><strong><span style="color: black; font-family: 宋体">、</span></strong><strong><span style="color: black; font-family: Arial">firewatir</span></strong><strong><span style="color: black; font-family: 宋体">下载</span></strong></p>
<p>Jssh<span style="font-family: 宋体">下载地址：用</span>Google<span style="font-family: 宋体">搜索，之前找的忘记是那了，建议装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">jssh-WINNT-2[1].x.xpi</span></strong></p>
<p>Firebug<span style="font-family: 宋体">下载地址：用</span>google<span style="font-family: 宋体">搜索，之前找的忘记是那了，建议装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firebug-1.05</span></strong></p>
<p>Firewatir<span style="font-family: 宋体">下载地址：</span><u><span style="font-size: 10pt; color: blue; font-family: Arial"><a href="http://code.google.com/p/firewatir/downloads/list">http://code.google.com/p/firewatir/downloads/list</a></span></u><span style="font-family: 宋体">，建议装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firewatir-1.1</span></strong></p>
<p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><strong>2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-family: 宋体">安装步骤：</span></strong></p>
<p style="margin-left: 42pt; text-indent: -21pt; tab-stops: list 42.0pt"><span style="font-family: Wingdings">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">安装环境：</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">Windows xp</span></strong></p>
<p style="margin-left: 42pt; text-indent: -21pt; tab-stops: list 42.0pt"><span style="font-family: Wingdings">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">安装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><span style="font-family: 宋体">，直接点击</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><span style="font-family: 宋体">的</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">exe</span></strong><span style="font-family: 宋体">安装文件即可</span></p>
<p style="margin-left: 42pt; text-indent: -21pt; tab-stops: list 42.0pt"><span style="font-family: Wingdings">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">安装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firefox</span></strong><span style="font-family: 宋体">，直接点击</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">exe</span></strong><span style="font-family: 宋体">安装文件即可</span></p>
<p style="margin-left: 42pt; text-indent: -21pt; tab-stops: list 42.0pt"><span style="font-family: Wingdings">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">安装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firefox</span></strong><span style="font-family: 宋体">插件，安装方法：打开</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firefox</span></strong><span style="font-family: 宋体">浏览器，点击&#8220;文件&#8221;</span>/<span style="font-family: 宋体">&#8220;打开&#8221;，选择插件文件名，安装即可；<strong><span style="color: red">提醒</span></strong>：需要安装插件有：</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">jssh</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">、</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firebug</span></strong><span style="font-family: 宋体">。</span></p>
<p style="margin-left: 42pt; text-indent: -21pt; tab-stops: list 42.0pt"><strong><span style="font-weight: normal; font-size: 10pt; color: #202020; font-family: Wingdings">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><span style="font-family: 宋体">安装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firewatir</span></strong><span style="font-family: 宋体">，安装方法：点击&#8220;开始&#8221;</span>/<span style="font-family: 宋体">&#8220;运行&#8221;，在页面输入命令：</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">cmd</span></strong><span style="font-family: 宋体">，进入</span>DOS<span style="font-family: 宋体">命令操作界面；进入</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><span style="font-family: 宋体">安装的目录，输入命令：</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem install firewatir-1.1.gem</span></strong></p>
<p style="margin-left: 42pt; text-indent: -21pt; tab-stops: list 42.0pt"><span style="font-size: 10pt; color: #202020; font-family: Wingdings">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">安装</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">watir </span></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt; tab-stops: list 63.0pt"><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">1)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><span style="font-family: 宋体">点击&#8220;开始&#8221;</span>/<span style="font-family: 宋体">&#8220;运行&#8221;，在页面输入命令：</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">cmd</span></strong><span style="font-family: 宋体">，进入</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">DOS</span></strong><span style="font-family: 宋体">命令操作界面，</span></p>
<p style="margin-left: 63pt; text-indent: -21pt; tab-stops: list 63.0pt"><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">2)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><span style="font-family: 宋体">进入</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><span style="font-family: 宋体">安装的目录，输</span><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">入</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby &#8211;v</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">，查看</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">版本，显示：</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">Ruby 1.8.6</span></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt; tab-stops: list 63.0pt"><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">3)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">输入</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem &#8211;v</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">，查看</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">版本，显示</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">0.94</span></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt; tab-stops: list 63.0pt"><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">4)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">升级</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">，把</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">包拷贝到</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">安装目录，在</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">dos</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">界面输入命令：</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem install </span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">rubygems-update-1.3.4.gem</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">（</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">包名）<br />
<br />
提醒：安装完后进入ruby目录：<font style="background-color: #c7edcc">lib\ruby\gems\1.8\gems\rubygems-update-1.3.4，点击这个文件夹中的文件：<font style="background-color: #c7edcc">setup.rb</font>，升级gem即可</font><br />
</span></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt; tab-stops: list 63.0pt"><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">5)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">安装</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">watir</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">包，把</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">watir</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">包拷贝到</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">安装目录，在</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">dos</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: 宋体">界面输入命令：</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">gem install </span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">watir-1.5.2.gem</span></strong></p>
<p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><strong>3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-family: 宋体">安装完毕检查</span></strong></p>
<p style="text-indent: 21.1pt"><strong><span style="font-family: 宋体">在</span></strong><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">dos</span></strong><strong><span style="font-family: 宋体">界面，</span></strong><span style="font-family: 宋体">进入</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">firewatir</span></strong><span style="font-family: 宋体">安装路径下（一般在：</span>"ruby"lib"ruby"gems"1.8"gems"firewatir-1.1<span style="font-family: 宋体">），进入</span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">unittests</span></strong><span style="font-family: 宋体">文件夹，<strong>输入命令：</strong></span><strong><span style="font-size: 10pt; color: #202020; font-family: Verdana">ruby mozilla_all_tests.rb</span></strong><span style="font-family: 宋体">，如果可以正确执行程序，说明安装正确没有问题，到此可以开始自动化测试开发的旅程了。</span>^_^<span style="font-family: 宋体">。<br />
<br />
</span></p>
<img src ="http://www.blogjava.net/lijun_li/aggbug/296332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2009-09-24 18:59 <a href="http://www.blogjava.net/lijun_li/archive/2009/09/24/296332.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>