﻿<?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/</link><description>风雨过后才见彩虹</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:25:02 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:25:02 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>分享：ADB工具的安装与卸载命令的实践！！！</title><link>http://www.blogjava.net/lijun_li/archive/2014/07/31/416417.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 31 Jul 2014 10:33:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2014/07/31/416417.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/416417.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2014/07/31/416417.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/416417.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/416417.html</trackback:ping><description><![CDATA[<span style="font-family: Tahoma; font-size: 10pt;">编写背景：</span><br />&nbsp; &nbsp; &nbsp;&nbsp;<span style="font-size: 10pt; font-family: Tahoma;">一年多没有更新blog,有很多东西很想给同行分享,但是总没有刺激我动手放上来的动力。也许是真的老了、也许是自己的重心转移了。最近又开始带徒弟了,她学习的热情感染了我，因此决定在blog上开了这么一个归类：软件测试_徒弟的文档。</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;"><br /></span><p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US" style="font-size:16.0pt;font-family:黑体">ADB</span><span style="font-size:16.0pt;
font-family:黑体">工具的安装与卸载命令的实践<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" align="left"><span style="font-size:
12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast">作者：李玉玲<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" align="left"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">&nbsp; &nbsp;&nbsp;</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体;">adb</span><span style="font-size: 12pt; font-family: 宋体;">工具的作用就是连接安卓操作系统；下面分享<span lang="EN-US">ADB</span>工具的安装和卸载命令实践。<br /></span><span style="font-size: 16pt; line-height: 240%; font-family: 黑体;">一、安装<span lang="EN-US">adb</span></span><span style="font-size: 16pt; line-height: 240%; font-family: 黑体;">工具的前提<br /></span><span lang="EN-US" style="font-size: 14pt; line-height: 172%; font-family: 黑体;">1</span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">、查看盒子是否开启<span lang="EN-US">adb</span></span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">的功能</span></p>

<p class="MsoNormal" align="left" style="text-indent: 24pt;"><span style="font-size:12.0pt;font-family:宋体;
mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-theme-font:minor-fareast;color:red">查看盒子是否开启<span lang="EN-US">adb</span>功能，需要使用&#8220;<span lang="EN-US">ping </span>盒子<span lang="EN-US">IP&#8221;</span>，如果通过但是&#8220;<span lang="EN-US">adb connection </span>盒子<span lang="EN-US">IP&#8221;</span>连接失败，则没有开启<span lang="EN-US">adb</span>功能。这时候，需要用<span lang="EN-US">USB</span>连接盒子和<span lang="EN-US">PC</span>，根据开发人员提供的升级安装包进行升级，即可开启<span lang="EN-US">adb</span>功能。<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" align="left" style="text-indent: 24pt;"><span style="font-size:12.0pt;font-family:宋体;
mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-theme-font:minor-fareast">本次使用的是<span lang="EN-US">Q12</span>机顶盒。它默认开通了<span lang="EN-US">adb</span>功能。只有XXXXX的版本才禁掉了<span lang="EN-US">adb</span>功能。<span lang="EN-US"><o:p></o:p></span></span></p>

<h2 style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:
0cm;mso-para-margin-top:.5gd;mso-para-margin-right:0cm;mso-para-margin-bottom:
.5gd;mso-para-margin-left:0cm;line-height:172%"><span lang="EN-US" style="font-size:14.0pt;line-height:172%;font-family:黑体;font-weight:normal;
mso-bidi-font-weight:bold">2</span><span style="font-size:14.0pt;line-height:
172%;font-family:黑体;font-weight:normal;mso-bidi-font-weight:bold">、获取盒子的<span lang="EN-US">IP<o:p></o:p></span></span></h2>

<span style="font-size: 12pt; font-family: 宋体;">点击盒子上的设置，进入<span lang="EN-US">&#8220;</span>网络连接<span lang="EN-US">&#8221;</span>，查看<span lang="EN-US">IP</span>设置，即可获取盒子<span lang="EN-US">IP</span>。如下图（机顶盒上的截图用到<span lang="EN-US">adb</span>的命令包括<span lang="EN-US">adb connect,adb shell screencap,adb pull</span>。具体用法参考文档《机顶盒截图步骤》）：<br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/121.PNG" width="543" height="633" alt="" /><br /></span><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 图</span><span lang="EN-US" style="font-family: 宋体; text-align: center;">2 </span><span style="font-family: 宋体; text-align: center;">查询</span><span lang="EN-US" style="font-family: 宋体; text-align: center;">IP</span><span style="font-size: 12pt; font-family: 宋体;"><br /></span>

<span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;
mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme-font:minor-bidi;
mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">由上图可以看出本次使用的盒子的<span lang="EN-US">IP</span>为：<span lang="EN-US">192.168.88.104</span>。<br /></span><span style="font-family: 黑体; font-size: 16pt; line-height: 240%;">二、使用</span><span lang="EN-US" style="font-family: 黑体; font-size: 16pt; line-height: 240%;">adb</span><span style="font-family: 黑体; font-size: 16pt; line-height: 240%;">命令安装和卸载软件的步骤<br /></span><span lang="EN-US" style="font-size: 14pt; line-height: 172%; font-family: 黑体;">1</span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">、<span lang="EN-US">adb</span>工具安装</span>

<p class="MsoNormal" style="margin-left:21.0pt"><span style="font-size:12.0pt;
font-family:宋体;mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast">方法：把附件中的<span lang="EN-US">adb.exe</span>、<span lang="EN-US">AdbWinApi.dll</span>、<span lang="EN-US">AdbWinUsbApi.dll</span>文件拷贝到<span lang="EN-US">D</span>盘<span lang="EN-US">/adb</span>。（也可拷贝到其他自定义路径，如<span lang="EN-US">D:\Fbox</span>。）<span lang="EN-US"><o:p></o:p></span></span></p>

<span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;
mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme-font:minor-bidi;
color:red;mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:
AR-SA">注：</span><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:
minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;
mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme-font:minor-bidi;
mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">可以设置环境变量（具体见：<span lang="EN-US">Android</span>中<span lang="EN-US">adb</span>环境变量的设置），手动加上<span lang="EN-US">d:\adb</span>，这样就把<span lang="EN-US">adb</span>的使用范围扩大。具体解释如下图的对比：<br /></span><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/3.png" width="565" height="379" alt="" /><br /><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 图3 未设置环境变量时</span><br />  <span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;">上图说明adb命令只能在adb应用程序存在的路径中使用，在其他路径下不可以使用。</span><br /><span style="font-size: 12pt; font-family: 宋体;"><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/4.png" width="477" height="347" alt="" /><br /></span><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图</span><span lang="EN-US" style="font-family: 宋体; text-align: center;">4 </span><span style="font-family: 宋体; text-align: center;">设置环境变量后</span><span style="font-size: 12pt; font-family: 宋体;"><br /></span>

<p class="MsoNormal" style="text-indent:24.0pt"><span style="font-size:12.0pt;
font-family:宋体;mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast">上图是重新配置环境变量后，<span lang="EN-US">adb</span>命令可以随时使用。<br /></span><strong style="text-indent: 0px;"><span lang="EN-US" style="font-size:14.0pt;font-family:黑体">Android</span></strong><strong style="text-indent: 0px;"><span style="font-size:14.0pt;font-family:黑体">中<span lang="EN-US">adb</span>环境变量的设置</span></strong></p>

<span style="font-size: 12pt; font-family: 宋体;">计算机<span lang="EN-US">/</span>属性<span lang="EN-US">/</span>高级系统设置<span lang="EN-US">/</span>环境变量<span lang="EN-US">/</span>系统变量<span lang="EN-US">/Path</span>，在<span lang="EN-US">Path</span>中加上路径：<span lang="EN-US">;D:\adb</span>。注意&#8220;<span lang="EN-US">D&#8221;</span>之前的分号<span lang="EN-US">;</span>。<br /></span><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/5.png" width="420" height="442" alt="" /><br /><span style="font-size:10.5pt;font-family:宋体;Times New Roman&quot;;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 图5 系统属性</span><br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/6.png" width="394" height="406" alt="" /><br /><span style="font-size:10.5pt;font-family:宋体;Times New Roman&quot;;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 图6 路径<br /></span><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/7.png" width="357" height="145" alt="" /><br /><span style="font-size: 10.5pt; font-family: 宋体;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图7 修改路径<br /></span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">2</span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">、安装apk应用</span><h2><span style="font-family: 宋体; font-size: 12pt;">（1）打开cmd，输入&#8220;d:&#8221;，之后输入&#8220;cd adb&#8221;，进入到应用程序存放的位置。</span></h2><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/8.png" width="405" height="267" alt="" /><br /><span style="font-size:10.5pt;font-family:宋体;Times New Roman&quot;;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图8 进入adb存放位置</span><br /><p align="left"><span style="font-size: 12.0pt;font-family:宋体;">（2）输入连接机顶盒命令</span></p>  <p style="text-indent:24.0pt;"><span style="font-size:12.0pt;font-family:宋体;">adb connect 192.168.88.104&nbsp;&nbsp;&nbsp;&nbsp; //IP</span><span style="font-size:12.0pt;font-family:宋体;">地址为机顶盒IP</span></p>  <span style="font-size: 12pt; font-family: 微软雅黑, sans-serif;">显示有&#8230;&#8230;connected字样，表示已连接成功。</span><br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/9.png" width="493" height="363" alt="" /><br /><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 图9 安装软件</span><br />  <span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;">（3）输入安装APK包命令 adb install [apk路径和名称]，其中apk应用可以直接从存储的位置拖拽过来，不用手动敲打路径。我们这里以优酷客户端为安装包。</span><br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/10.png" width="493" height="363" alt="" /><br /><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图10 安装成功</span><br />  <p><span style="font-size:12.0pt;font-family:宋体;">（4）查看应用是否安装成功</span></p>  <p><span style="font-size:12.0pt;font-family:宋体;">&nbsp;&nbsp;&nbsp; </span><span style="font-size:12.0pt; font-family:宋体;">进入&#8220;应用&#8221;中的&#8220;我的应用&#8221;，即可查看。<br /></span></p><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/11.PNG" width="555" height="648" alt="" /><span style="text-align: center;">&nbsp;<br /></span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">3</span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">、卸载apk应用</span>  <p align="left" style="margin-left: 36pt; text-indent: -36pt;"><span style="font-size:12.0pt;font-family:宋体;">（1）&nbsp;</span><span style="font-size:12.0pt;font-family:宋体;">连接机顶盒</span></p>  <p style="text-indent:21.0pt"><span style="font-size:12.0pt; font-family:宋体;">输入adb connect 192.168.88.104&nbsp;&nbsp;&nbsp;&nbsp; //IP地址为机顶盒IP</span></p>  <p align="left"><span style="font-size: 12.0pt;font-family:宋体;">（2）adb uninstall 包名&nbsp;&nbsp;&nbsp;&nbsp; //包名形如com.android.testme，不包含后缀.apk</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt; font-family:宋体;">如果不知道包名，可通过以下方法查询：</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;font-family:宋体;">1) adb connect 192.168.88.104</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;font-family:宋体;">2) adb shell</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;font-family:宋体;">3) #cd data/app</span></p>  <span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;">4) #ls&nbsp;&nbsp;&nbsp;&nbsp; //</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;">查看包名。</span><br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/13.png" width="677" height="442" alt="" /><br /><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 图13 查看安装包</span><br />  <p align="left" style="margin-left: 21pt;"><span style="font-size:12.0pt;font-family:宋体;">其中需要注意的是：</span></p>  <span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;">查看有com.youku.tv-1.apk，卸载时如果输入：adb uninstall com.youku.tv-1.apk，则会报Failure错误，正确应该输入：adb uninstallcom.youku.tv，后面的&#8220;-1&#8221;也不用，它不是包名的一部分，而是多次重复安装时Android系统自动加上的。</span><br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/14.png" width="461" height="331" alt="" /><br /><span style="font-family: 宋体; text-align: center;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图14 卸载</span><br />  <p style="text-indent:24.0pt;"><span style="font-size:12.0pt;font-family:宋体;">和安装时一样，可以查看此软件已经被成功卸载。</span></p>  <span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;; color:red;">注：</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;">如果在安装软件的过程中，出现了&#8220;系统空间不足&#8221;的信息，可以先查看包名，进行卸载。完成之后，继续安装新软件。</span><br /><img src="http://www.blogjava.net/images/blogjava_net/lijun_li/54475/15.PNG" width="510" height="312" alt="" /><br /><p class="MsoNormal"><span lang="EN-US">&nbsp;</span><span style="font-family: 黑体; font-size: 16pt; line-height: 240%;">三、</span><span lang="EN-US" style="font-family: 黑体; font-size: 16pt; line-height: 240%;">adb</span><span style="font-family: 黑体; font-size: 16pt; line-height: 240%;">工具的相关问题<br /></span><span lang="EN-US" style="font-size: 14pt; line-height: 172%; font-family: 黑体;">1</span><span style="font-size: 14pt; line-height: 172%; font-family: 黑体;">、<span lang="EN-US">apk</span>安装后存放在<span lang="EN-US">Android</span>系统的目录位置为什么是<span lang="EN-US">/data</span>？是否可以自定义？</span></p>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">/data </span><span style="font-size:12.0pt;font-family:宋体;
mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;mso-fareast-theme-font:
minor-fareast;mso-hansi-theme-font:minor-fareast">存放的是用户的软件信息（非自带<span lang="EN-US">rom</span>安装的软件）；<span lang="EN-US">/data/app </span>存放用户安装的软件；<span lang="EN-US">/data/data </span>存放所有软件（包括<span lang="EN-US">/system/app </span>和<span lang="EN-US"> /data/app </span>和<span lang="EN-US"> /mnt/asec</span>中装的软件）的一些<span lang="EN-US">lib</span>和<span lang="EN-US">xml</span>文件等数据信息；<span lang="EN-US">/data/dalvik-cache
</span>存放程序的缓存文件，这里的文件都是可以删除的。<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal"><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:
minor-fareast;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;
mso-hansi-theme-font:minor-fareast">因此，<span lang="EN-US">apk</span>安装后，默认的存放位置时<span lang="EN-US">/data</span>。详细文章参考如下链接：<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal"><span lang="EN-US"><a href="http://www.androidlearner.net/android-directory-apk-install.html"><span style="color:#4472C4;mso-themecolor:accent5">http://www.androidlearner.net/android-directory-apk-install.html</span></a><u><span style="color:#4472C4;mso-themecolor:accent5"><o:p></o:p></span></u></span></p>

<p class="MsoNormal"><span lang="EN-US" style="color:#4472C4;mso-themecolor:accent5">&nbsp;&nbsp;&nbsp; </span><span style="font-size:12.0pt;
font-family:宋体;mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast">利用<span lang="EN-US">adb</span>工具进行软件安装不可以自定义安装位置。安装后的软件只能默认存放在<span lang="EN-US">/data/app</span>中，这里的软件才具有可视性。</span><span lang="EN-US" style="color:#4472C4;mso-themecolor:accent5"><o:p></o:p></span></p>

<h2 style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:
0cm;mso-para-margin-top:.5gd;mso-para-margin-right:0cm;mso-para-margin-bottom:
.5gd;mso-para-margin-left:0cm;line-height:172%"><span lang="EN-US" style="font-size:14.0pt;line-height:172%;font-family:黑体;font-weight:normal;
mso-bidi-font-weight:bold">2</span><span style="font-size:14.0pt;line-height:
172%;font-family:黑体;font-weight:normal;mso-bidi-font-weight:bold">、安装后的文件的权限和占用空间大小如何查看？<span lang="EN-US"><o:p></o:p></span></span></h2>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">adb shell<o:p></o:p></span></p>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">cd /data/app<o:p></o:p></span></p>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">ll&nbsp;&nbsp;&nbsp;&nbsp; //</span><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">查看安装的每一个软件的具体信息，具体包含权限、占用空间等<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">df&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">检查文件系统的磁盘空间占用情况<span lang="EN-US"><o:p></o:p></span></span></p>

<h2 style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:
0cm;mso-para-margin-top:.5gd;mso-para-margin-right:0cm;mso-para-margin-bottom:
.5gd;mso-para-margin-left:0cm;line-height:172%"><span lang="EN-US" style="font-size:14.0pt;line-height:172%;font-family:黑体;font-weight:normal;
mso-bidi-font-weight:bold">3</span><span style="font-size:14.0pt;line-height:
172%;font-family:黑体;font-weight:normal;mso-bidi-font-weight:bold">、<span lang="EN-US">adb</span>工具的安装和卸载命令参数<span lang="EN-US"><o:p></o:p></span></span></h2>

<p class="MsoNormal"><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:
minor-fareast;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;
mso-hansi-theme-font:minor-fareast">（<span lang="EN-US">1</span>）安装命令<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">adb install &lt;apk</span><span style="font-size:12.0pt;
font-family:宋体;mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast">文件路径<span lang="EN-US">&gt; </span>：将指定的<span lang="EN-US">apk</span>文件安装到设备上<span lang="EN-US"><br />
</span>　<span lang="EN-US">&nbsp; adb install -s
apk</span>文件名称<span lang="EN-US">.apk </span>：替代内存储器，安装软件到<span lang="EN-US">SD</span>卡上<span lang="EN-US">&nbsp;<br />
</span>　<span lang="EN-US">&nbsp; adb install -r
apk</span>文件名称<span lang="EN-US">.apk </span>：覆盖原来安装的软件并保留之前的数据<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal"><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:
minor-fareast;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;
mso-hansi-theme-font:minor-fareast">（<span lang="EN-US">2</span>）卸载命令<span lang="EN-US"><br />
adb uninstall apk</span>包名<span lang="EN-US">.apk </span>：卸载<span lang="EN-US">apk</span>软件<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">adb uninstall -k &lt;</span><span style="font-size:12.0pt;
font-family:宋体;mso-ascii-theme-font:minor-fareast;mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast">软件名<span lang="EN-US">&gt; </span>：卸载软件但是保留配置和缓存文件<span lang="EN-US"><o:p></o:p></span></span></p>

<h2 style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:
0cm;mso-para-margin-top:.5gd;mso-para-margin-right:0cm;mso-para-margin-bottom:
.5gd;mso-para-margin-left:0cm;line-height:172%"><span lang="EN-US" style="font-size:14.0pt;line-height:172%;font-family:黑体;font-weight:normal;
mso-bidi-font-weight:bold">4</span><span style="font-size:14.0pt;line-height:
172%;font-family:黑体;font-weight:normal;mso-bidi-font-weight:bold">、用<span lang="EN-US">adb</span>工具安装和卸载常见问题<span lang="EN-US"><o:p></o:p></span></span></h2>

<p class="MsoNormal" style="text-indent:24.0pt;mso-char-indent-count:2.0"><span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-fareast">问题一：若安装时提示<span lang="EN-US">"error:more than one device and
emulator"</span>，可用&#8220;<span lang="EN-US">adb devices</span>&#8221;查看，应该存在多个<span lang="EN-US">devices</span>，此时可用&#8220;<span lang="EN-US">adb disconnect 172.30.57.86</span>&#8221;命令断开不使用的连接，再用命令&#8220;<span lang="EN-US">adb connect 172.30.<st1:chmetcnv unitname="&#8221;" sourcevalue="57.87" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">57.87<span lang="EN-US"><span lang="EN-US">&#8221;</span></span></st1:chmetcnv><span lang="EN-US">连接，再安装。<o:p></o:p></span></span></span></p>

<span style="font-size:12.0pt;font-family:宋体;mso-ascii-theme-font:minor-fareast;
mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;
mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme-font:minor-bidi;
mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">&nbsp; &nbsp; 问题二：若执行命令<span lang="EN-US">adb shell</span>报&#8220;<span lang="EN-US">error: protocol fault (no status)</span>&#8221;错误，则可以再执行下连接机顶盒命令，然后再执行<span lang="EN-US">adb shell</span>命令。</span><img src ="http://www.blogjava.net/lijun_li/aggbug/416417.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> 2014-07-31 18:33 <a href="http://www.blogjava.net/lijun_li/archive/2014/07/31/416417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分享：2013年测试部门培训计划！！！</title><link>http://www.blogjava.net/lijun_li/archive/2013/01/15/394229.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Tue, 15 Jan 2013 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2013/01/15/394229.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/394229.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2013/01/15/394229.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/394229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/394229.html</trackback:ping><description><![CDATA[
<div><br />编写背景：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2012年过去了，2013年在休假中开始了；休了10天假后，整个人轻松好多；本周开始上班了，2013年是个让人憧憬的1年、告诉自己要好好抓住时间赶紧做自己想做的事情。休假前和部门开了年终总结会，对2012年做了总结、对2013年做了很多希望；好好加油吧，工作和生活都要加油！！！<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天开心，决定把今年部门的培训计划分享给各位同行。^_^。<br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/2013_test_1.JPG" width="686" height="592" /><br /><img style="width: 678.47px; height: 248.19px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/2013_test_2.JPG" width="678" height="248" /><br /></div> 
<img src ="http://www.blogjava.net/lijun_li/aggbug/394229.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> 2013-01-15 10:25 <a href="http://www.blogjava.net/lijun_li/archive/2013/01/15/394229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试工作中常用到的sql命令！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/12/07/392607.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 07 Dec 2012 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/12/07/392607.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392607.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/12/07/392607.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392607.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392607.html</trackback:ping><description><![CDATA[<p>编写背景：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 深圳下了一周的雨，天阴沉阴沉的，好想晒晒阳光，心情快被发霉了。这周运气很好，bugzilla和TestLink安装很顺利，mysql数据库的备份和恢复、bugzilla和testlink升级顺利。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这好心情的日子里，让实习生把做测试时，经常要用sql命令进行一些数据检查测试的都集中整理放上来，那天要用直接上来看就行了，分享给大家，特别是刚做测试的新手。<br /></p><p><span style="color: red;"><strong>一、mysql数据库日常操作。</strong></span><br />&nbsp;&nbsp;&nbsp;&nbsp; 1.启动mysql：/etc/init.d/mysql start (前面为mysql的安装路径)<br />&nbsp;&nbsp;&nbsp;&nbsp; 2.重启mysql：&nbsp; /etc/init.d/mysql restart (前面为mysql的安装路径)<br />&nbsp;&nbsp;&nbsp;&nbsp; 3.关闭mysql：&nbsp; /etc/init.d/mysql stop(前面为mysql的安装路径)<br />&nbsp;&nbsp;&nbsp;&nbsp; 4.连接本机上的mysql：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql -u 用户名 &#8211;p (按回车，再输入密码) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：mysql &#8211;u root &#8211;p <br />&nbsp;&nbsp;&nbsp; 5.退出mysql:exit&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 6.修改mysql密码：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （1）mysqladmin -u用户名 -p旧密码 password 新密码<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：mysqladmin &#8211;u root &#8211;p 123456 password 654321<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（2）进入mysql命令行SET PASSWORD FOR 用户名@主机=PASSWORD("root");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：set password for <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#111;&#111;&#116;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;&#61;&#112;&#97;&#115;&#115;&#119;&#111;&#114;&#100;&#40;&#8220;&#49;&#50;&#51;&#52;&#53;&#54;">root@localhost=password(&#8220;123456</a>&#8221;); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （3）修改自己的密码：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;set password=password(&#8220;123456&#8221;);<br />&nbsp;&nbsp;&nbsp; 7.增加新用户：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; grant 操作 on 数据库.* to 用户名@登录主机 identified by "密码"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：grant select on yingyu to <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#113;&#105;&#117;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;">qiu@localhost</a> indentify by &#8220;123456&#8221;;<br />&nbsp;&nbsp;&nbsp; 8.建库：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;create database 库名; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例：create database yingyu;<br />&nbsp;&nbsp;&nbsp; 9.显示数据库列表:&nbsp; show databases;&nbsp;<br />&nbsp;&nbsp;10.打开数据库：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use 数据库；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：use yingyu;<br />&nbsp; 11.删库：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drop database 库名; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：drop database yingyu;<br />&nbsp; 12.显示库中的数据表：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show tables;<br />&nbsp; 13.显示数据表的结构：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;describe 表名; <br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 例：describe student;<br />&nbsp; 14.编码的修改：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （1）改变整个mysql的编码格式： <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 启动mysql的时候，mysqld_safe命令行加入<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; --default-character-set=编码格式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 例：--default-character-set=UTF-8<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （2）改变某个库的编码格式：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在mysql提示符后输入命令：&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alter database 数据库 default character set 编码格式; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 例：alter database student default character set UTF-8;<br /><strong style="color: red;">二、sql常用命令</strong><br />&nbsp;&nbsp;&nbsp; 1.建表：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create table 表名(字段设定列表)；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：create table student<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; (stuid char(10) primary key, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; name char(20), <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; grade int(3), <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; age int(3) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; );<br />&nbsp;&nbsp; 2.删表:<br />&nbsp;&nbsp;&nbsp; &nbsp; drop table 表名; <br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例:drop table student;<br />&nbsp;&nbsp; 3.将表中记录清空：<br />&nbsp;&nbsp;&nbsp; &nbsp; delete from 表名; <br />&nbsp;&nbsp;&nbsp; &nbsp; 例：delete from student;<br />&nbsp;&nbsp; 4.显示表中的记录：<br />&nbsp;&nbsp;&nbsp; &nbsp; select * from 表名; <br />&nbsp;&nbsp;&nbsp; &nbsp; 例：select * from student;<br />&nbsp;&nbsp; 5.给表改名: <br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;rename table 旧表名 to 新表名；<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例：rename table student to people;<br />&nbsp; &nbsp;6.修改字段属性：<br />&nbsp;&nbsp;&nbsp;&nbsp; （1）alter table 表名 change 字段名称 字段名称 字段类型 [是否允许非空]; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 例：alter table student change name newname char(20) null;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（2）alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例：alter table student modify name char(20) null;<br />&nbsp; 7.修改表设置默认字段：<br />&nbsp;&nbsp;&nbsp;&nbsp; （1）alter table 表名 modify 字段名称 字段类型 default 默认值；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例：alter table student modify name char(10) defalt 7;<br />&nbsp;&nbsp;&nbsp;&nbsp; （2）alter table 表名 alter 字段名称 set default value; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：alter table student alter name set default 7;<br />&nbsp;&nbsp;8.增加表的一个字段：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alter table 表名 add column 字段名称 字段类型 （default 默认值）；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：alter table student add column sex char(10) (default 1);<br />&nbsp; 9.删除表的一个字段<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alter table 表名 drop column 字段名称；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：alter table student drop column name;<br />&nbsp; 10.删除表主键<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alter table 表名 drop primary key; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：alter table student drop primary key;<br />&nbsp; 11.添加新主键：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alter table 表名 add primary key(字段)；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：alter table student add primary key(stuid);<br />&nbsp; 12.往表里插入一行数据：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into 表名 values(字段数据1，字段数据2，&#8226;&#8226;&#8226;) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：insert into student values(&#8216;123&#8217;，&#8216;qqqq&#8217;,&#8216;80&#8217;)；<br />&nbsp; 13.往表里插入多行数据：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into 表名 values(字段数据1，字段数据2，&#8226;&#8226;&#8226;) ，(字段数据1，字段数据2，&#8226;&#8226;&#8226;)，&#8226;&#8226;&#8226;；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：insert into student values(&#8216;123&#8217;，&#8216;qqqq&#8217;,&#8216;80&#8217;)，（&#8216;124&#8217;，&#8216;yyyy&#8217;,&#8216;90&#8217;）；<br />&nbsp; 14. 修改表的数据：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update 表名 set 字段名=value where 范围<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：update student set name=&#8216;qqq1111&#8217; where stuid=&#8216;123&#8217;；<br />&nbsp; 15.模糊查询<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select * from 表名 where 字段 like &#8217;%value1%&#8217;； <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：select * from student where name like &#8216;q%&#8217;;<br />&nbsp;&nbsp;16.排序查询：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select * from 表名 order by 字段名1,字段名2 [desc]&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例：selec * from student order by grade;(升序) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; select * from student order by grade desc;(降序)<br />&nbsp; 17.左连接查询：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select 表1.字段1，表1.字段2，表2.字段1，表2.字段2 from 表1 left (outer) join 表2 on 表1.字段=表2.字段；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例:select student.num,student.name,people.name,people.age from student left (outer) join people on student.name=people.name;<br />&nbsp; 18.右连接查询：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select 表1.字段1，表1.字段2，表2.字段1，表2.字段2 from 表1 right (outer) join 表2 on 表1.字段=表2.字段；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例:select student.num,student.name,people.name,people.age from student right (outer) join people on student.name=people.name;<br />&nbsp; 19.全连接查询（mySql不支持全连接，所以用左连接union右连接）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select 表1.*，表2.* from 表1&nbsp; left (outer) join 表2 on 表1.字段=表2.字段 union select表1.*，表2.* from 表1 right (outer) join 表2 on 表1.字段=表2.字段；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：select s.*,p.* from student s&nbsp; left&nbsp; join people p on&nbsp; s.name = p.name union select s.*,p.* from student s&nbsp; right&nbsp; join people p on&nbsp; s.name = p.name；<br />&nbsp; 20.关于年份的查询<br />&nbsp;&nbsp;&nbsp;&nbsp; 例：查询在1990-1993年之间出生的学生的全部信息<br />&nbsp;&nbsp;&nbsp; select * from student where year(Sbirthday)between 1990 and 1993; <br />&nbsp;&nbsp;&nbsp; 查询在1990年12月5日之前出生的学生的全部信息<br />&nbsp;&nbsp;&nbsp; select * from student where birthday &lt; date(&#8216;1990-12-05&#8217;);<br /><span style="color: red;"><strong>三、备份与还原</strong></span><br />&nbsp; 1.备份数据库：<br />&nbsp;&nbsp;&nbsp;&nbsp; mysqldump &#8211;u 用户名 &#8211;p 数据库名 &gt; 保存路径+文件名；<br />&nbsp;&nbsp;&nbsp;&nbsp; 例：mysqldump &#8211;u root &#8211;p yingyu &gt; /home/yingyu/yingyu.sql;<br />&nbsp; 2.还原数据库：<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;mysql &#8211;u 用户名 &#8211;p 数据库名 &lt; 文件路径+文件名；<br />&nbsp;&nbsp; &nbsp; 例：mysql &#8211;u root &#8211;p yingyu &lt; /home/yingyu/yingyu.sql;<br />&nbsp; 3.直接将MySQL数据库压缩备份<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;mysqldump &#8211;u 用户名 &#8211;p 数据库名 | gzip &gt; 保存路径+文件名<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例：mysqldump &#8211;u root &#8211;p yingyu | gzip &gt; /home/yingyu/yingyu.sql.gz;<br />&nbsp; 4.还原压缩的Mysql数据库<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gunzip &lt; 文件路径+文件名 | mysql &#8211;u 用户名 &#8211;p 数据库名<br />&nbsp;&nbsp;&nbsp; &nbsp; 例：gunzip &lt; /home/yingyu/yingyu.sql.gz | mysql &#8211;u root &#8211;p yingyu;<br />&nbsp; 5.备份数据库中的某些表：<br />&nbsp;&nbsp; &nbsp; mysqldump &#8211;u 用户名 &#8211;p 数据库名 表名1 表名2 &gt; 保存路径+文件名<br />&nbsp;&nbsp;&nbsp; &nbsp;例：mysqldump &#8211;u root &#8211;p yingyu student &gt; /home/yingyu/yingyu.sql;<br />&nbsp; 6.备份数据库中的某些数据库：<br />&nbsp;&nbsp;&nbsp; &nbsp;mysqldump &#8211;u 用户名 &#8211;p &#8211;B&nbsp; 库1&nbsp; 库2 &gt; 保存路径+文件名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例：mysqldump &#8211;u root &#8211;p &#8211;B yingyu1 yingyu2&gt;/home/yingyu/yingyu.sql;<br />&nbsp; 7.还原数据库中的某些数据库：<br />&nbsp;&nbsp;&nbsp; &nbsp;mysqldump &#8211;u 用户名 &#8211;p &#8211;D 库1 库2 &lt; 文件路径 + 文件名；<br />&nbsp;&nbsp; &nbsp; 例:mysqldump&#8211;u root &#8211;p&#8211;D qiuyingyu yingyu&lt;/home/yingyu/yingyu.sql;<br />&nbsp; 8.还原数据库中的某些表：<br />&nbsp;&nbsp; &nbsp; mysql &#8211;u 用户名 &#8211;p 数据库名 &nbsp;&lt; 保存路径+表文件名<br />&nbsp;&nbsp;&nbsp; &nbsp;例：mysql &#8211;u root &#8211;p yingyu &nbsp;&lt; /home/yingyu/yingyu.sql;<br /></p><img src ="http://www.blogjava.net/lijun_li/aggbug/392607.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-12-07 15:19 <a href="http://www.blogjava.net/lijun_li/archive/2012/12/07/392607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bugzilla 4.0.1升级到4.2.3实践！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/12/07/392605.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 07 Dec 2012 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/12/07/392605.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392605.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/12/07/392605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392605.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp; 更新环境：redhat enterprise linux 5 + mysql-5.5.27+httpd-2.2.23+Bugzilla4.0.1<br /><br /><span style="color: red;"><strong>一、&nbsp;备份Bugzilla 4.0.1数据库</strong></span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用如下命令备份Bugzilla 4.0.1的mysql数据库<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mysqldump -u root -p bugs | gzip &gt; /tmp/llj/bugzilla_20121206.sql.gz<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bugs是数据库名字<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /tmp/llj/bugzilla_20121206.sql.gz 是备份存储的路径</p><p><span style="color: red;"><strong>二、&nbsp;导入Bugzilla 4.0.1数据库</strong></span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建新的数据库用于导入备份的数据库，命令如下：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mysql &#8211;u root &#8211;p<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入密码后进入mysql操作界面<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入：create database bugzilla_new<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用如下命令导入备份的Bugzilla 4.0.1的mysql数据库，从新命名数据库名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # gunzip &lt; bugzilla_20121206.sql.gz | mysql &#8211;u root &#8211;p bugzilla_new</p><p><span style="color: red;"><strong>三、&nbsp;安装Bugzilla 4.2.3程序包</strong></span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装步骤具体见：<a href="http://www.blogjava.net/lijun_li/archive/2012/11/29/392220.html">http://www.blogjava.net/lijun_li/archive/2012/11/29/392220.html</a></p><p><span style="color: red;"><strong>四、&nbsp;更新导入的Bugzilla 4.2.3数据库表结构</strong></span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建bugzilla_new数据库用户<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mysql &#8211;u root &#8211;p&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # use bugzilla_new<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; grant select,insert,update,delete,index,alter,create,lock tables,drop,references on bugzilla_new.* to </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#98;&#117;&#103;&#115;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;">bugs@localhost</a> identified by '123456';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flush privileges;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改bugzilla配置<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #cd /data/apache2/htdocs/bugzilla<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #vi localconfig<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据数据库的实际情况修改如下参数：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_name = 'bugzilla_new';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_user = 'bugs';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_pass = '123456';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_port = 3306;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db_sock = '/var/lib/mysql/mysqld.sock';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $index_html = 1;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 更新bugzilla_new数据库表<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进入新安装的bugzilla 4.2.3文件目录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #cd /data/apache2/htdocs/bugzilla<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #./checksetup.pl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自动更新bugzilla_new数据库表内容</p><p>&nbsp; 在浏览器访问新版本bugzilla，使用之前的老用户账户登录，能成功登录进去并看到之前的bug组件和内容，恭喜你成功了。^_^。</p><p>&nbsp; 到这里，更新完毕，转帖的同行记得要写上此贴出处。<br /></p><img src ="http://www.blogjava.net/lijun_li/aggbug/392605.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-12-07 15:06 <a href="http://www.blogjava.net/lijun_li/archive/2012/12/07/392605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TestLink 1.8.4 升级到1.9.4 实践！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/12/06/392538.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 06 Dec 2012 04:10:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/12/06/392538.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392538.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/12/06/392538.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392538.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392538.html</trackback:ping><description><![CDATA[
<p><font face="Verdana">&nbsp; 更新环境：redhat enterprise linux 5 + mysql-5.5.27+httpd-2.2.23+php-5.3.19+TestLink 1.8.4<br /><br /><strong style="color: red;">一、&nbsp;备份TestLink 1.8.4数据库</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用如下命令备份TestLink 1.8.4的mysql数据库<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mysqldump -u root -p testlink | gzip &gt; /tmp/llj/testlink_20121205.sql.gz<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Testlink是数据库名字<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/tmp/llj/testlink_20121205.sql.gz 是备份存储的路径</font></p><p><font face="Verdana"><strong style="color: red;">二、&nbsp;导入TestLink 1.8.4数据库</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建新的数据库用于导入备份的数据库，命令如下：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mysql &#8211;u root &#8211;p<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入密码后进入mysql操作界面<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入：create database testlink_new<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用如下命令导入备份的TestLink 1.8.4的mysql数据库，从新命名数据库名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Gunzip &lt; testlink_20121205.sql.gz | mysql &#8211;u root &#8211;p testlink_new</font></p><p><font face="Verdana"><strong style="color: red;">三、&nbsp;安装TestLink 1.9.4程序包</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装步骤具体见：<a href="http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html">http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html</a></font></p><p><font face="Verdana"><strong style="color: red;">四、&nbsp;更新导入的Testlink1.8.4数据库表结构</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记录testlink的数据库更新sql文件存放地方进行数据库表升级<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /data/apache2/htdocs/Testlink/install/sql/alter_tables/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ll<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 会显示Testlink各版本的更新数据库sql文件，从1.9依次升级到1.9.4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进入mysql执行如下命令<br /># mysql &#8211;u root &#8211;p<br /># use testlink_new<br /># source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9/mysql/DB.1.3/step1/db_schema_update.sql<br /># source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9/mysql/DB.1.3/stepZ/z_final_step.sql<br /># source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.1/mysql/DB.1.4/step1/db_schema_update.sql<br /># source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.1/mysql/DB.1.4/stepZ/z_final_step.sql<br /># source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.4/mysql/DB.1.5/step1/db_schema_update.sql<br /># source /data/apache2/htdocs/Testlink/install/sql/alter_tables/1.9.4/mysql/DB.1.5/stepZ/z_final_step.sql<br /># commit;</font></p><p><font face="Verdana"><strong style="color: red;">五、&nbsp;更新TestLink1.9.4配置文件</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进入新安装的TestLink1.9.4数据库配置文件，更新链接的数据库链接到testlink_new.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd&nbsp; /data/apache2/htdocs/Testlink<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # vi config_db.inc.php<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改&#8217;DB_NAME&#8217; 的值为：testlink_new<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存后在浏览器访问testlink，使用之前的老用户账户登录，能成功登录进去并看到之前的测试用例和测试计划，恭喜你成功了。^_^。</font></p><p><font face="Verdana"><strong style="color: red;">六、&nbsp;更新缺失的数据库表</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对比备份的TestLink 1.8.4和新安装的TestLink 1.9.4数据库表，发现还需要做如下操作。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需要在testlink_new增加如下表：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; last_executions<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; last_executions_by_platform<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcversions_last_active_bare_bones<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需要在testlink_new删除如下表：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text_templates<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 具体操作如下：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mysql &#8211;u root &#8211;p<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # use testlink_new<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # drop table text_templates;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # create table Last_executions <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (tcversion_id int(10) unsigned NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; testplan_id int(10) unsigned NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; platform_id int(10) unsigned NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Build_id int(10) NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id int(10) unsigned default NULL );<br />&nbsp;&nbsp;&nbsp;&nbsp; # create table Last_executions_by_platform <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (tcversion_id int(10) unsigned NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testplan_id int(10) unsigned NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; platform_id int(10) unsigned NOT NULL Default 0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id int(10) unsigned default NULL );<br />&nbsp;&nbsp;&nbsp;&nbsp; # create table Tcversions_last_active_bare_bones <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (tcase_id int(10) unsigned default NULL,tcversion_id int(10) unsigned default NULL);</font></p><p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到这里，更新完毕，转帖的同行记得要写上此贴出处。^_^。<br /></font></p><p>&nbsp;</p> 
<img src ="http://www.blogjava.net/lijun_li/aggbug/392538.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-12-06 12:10 <a href="http://www.blogjava.net/lijun_li/archive/2012/12/06/392538.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bugzilla 4.2.3和TestLink 1.9.4 邮箱配置！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/11/30/392291.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 30 Nov 2012 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/11/30/392291.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392291.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/11/30/392291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392291.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392291.html</trackback:ping><description><![CDATA[
<blockquote style="margin-right: 0px;" dir="ltr"><p>参考资料：<a href="http://www.btschina.com/home/index.php/the-bugzilla-install-and-configure.html">http://www.btschina.com/home/index.php/the-bugzilla-install-and-configure.html</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.ishow.me/2012/09/11/929.html">http://www.ishow.me/2012/09/11/929.html</a></p><p><br /><strong style="color: rgb(128, 0, 0);">Buzilla 4.2.3邮箱配置</strong><br />Bugzilla自带有SMTP服务，只需开启和设置就可以使用，不需要sendmail支持。配置方法如下：<br />1.修改bugzilla的params文件内容<br />进入Bugzilla安装目录<br /># cd /data/apache2/htdocs/bugzilla<br />修改params文件<br /># vi params<br />配置其中的<br />maintainer : <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#64;&#116;&#101;&#115;&#116;&#46;&#99;&#111;&#109;"><span style="color: red;">test@test.com</span></a><br />mail_delivery_method : <span style="color: red;">SMTP</span><br />mailfrom : <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#64;&#116;&#101;&#115;&#116;&#46;&#99;&#111;&#109;"><span style="color: red;">test@test.com</span></a><br />smtpserver : <span style="color: red;">smtp.test.com</span><br />smtp_username: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#64;&#116;&#101;&#115;&#116;&#46;&#99;&#111;&#109;"><span style="color: red;">test@test.com</span></a><br />smtp_password : <span style="color: red;">**********</span><br />注意：maintainer、mailfrom必须相同！smtp_username邮箱必须是存在的真实的邮箱，smtp_password是邮箱的密码（要与你所登陆邮箱时的密码相同）！<br />2.登录bugzilla进行params参数核对<br />访问：<a href="http://localhost/bugzilla/">http://localhost/bugzilla/</a><br />用管理员账户和密码登录<br />登录后选择&#8220;Administartor&#8221;-》&#8220;Parameters&#8221;-》&#8220;Email&#8221;<br />查看并核对各参数是否正确。<br />3.录入一个新bug，到邮箱查看新接收到的bug邮件，如能收到就恭喜你，OK啦。^_^。<br /></p><p><strong style="color: rgb(128, 0, 0);">TestLink 1.9.4 邮箱配置</strong><br />进入TestLink安装目录文件，修改config.inc.php配置文件内容<br /># cd /data/apache2/htdocs/TestLink<br /># vi config.inc.php<br />$g_smtp_host = &#8216;[smtp.testlink.com]&#8216;;修改为<br />$g_smtp_host = &#8216;<span style="color: red;">公司smtp邮箱域名</span>&#8216;;<br /># Configure using custom_config.inc.php 以下这三处不能有中括号，一般保持一致即可。<br />$g_tl_admin_email = <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#8216;&#116;&#101;&#115;&#116;&#108;&#105;&#110;&#107;&#64;&#116;&#101;&#115;&#116;&#108;&#105;&#110;&#107;&#46;&#99;&#111;&#109;&#8217;">&#8216;<span style="color: red;">testlink@testlink.com&#8217;</span></a>; # for problem/error notification <br />$g_from_email = <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#8216;&#116;&#101;&#115;&#116;&#108;&#105;&#110;&#107;&#64;&#116;&#101;&#115;&#116;&#108;&#105;&#110;&#107;&#46;&#99;&#111;&#109;&#8217;"><span style="color: red;">&#8216;testlink@testlink.com&#8217;</span></a>; # email sender <br />$g_return_path_email = <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#8216;&#116;&#101;&#115;&#116;&#108;&#105;&#110;&#107;&#64;&#116;&#101;&#115;&#116;&#108;&#105;&#110;&#107;&#46;&#99;&#111;&#109;&#8217;"><span style="color: red;">&#8216;testlink@testlink.com&#8217;</span></a>;<br />/** Configure only if SMTP server requires authentication */ <br />$g_smtp_username = <span style="color: red;">&#8216;testlink&#8217;</span>; # user #账号和密码，有的需要加上域名有的不需要，最好加上域名。<br />$g_smtp_password = <span style="color: red;">&#8217;123123123&#8242;</span>; # password<br />保存后，再次登录testlink：<a href="http://localhost/TestLink/">http://localhost/TestLink/</a>，重置某一用户的密码，到该用户邮箱中查收邮件，能收到邮件就恭喜你，OK啦。^_^。<br /></p></blockquote> 
<img src ="http://www.blogjava.net/lijun_li/aggbug/392291.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-30 17:05 <a href="http://www.blogjava.net/lijun_li/archive/2012/11/30/392291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TestLink 1.9.4 for Linux redhat 5 安装介绍！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 29 Nov 2012 10:45:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392224.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392224.html</trackback:ping><description><![CDATA[
<blockquote style="margin-right: 0px;" dir="ltr"><p><strong style="color: rgb(128, 0, 0);">安装环境：</strong>redhat enterprise linux 5 + mysql-5.5.27+httpd-2.2.23+php-5.3.19+TestLink-1.9.4<br /><strong style="color: rgb(128, 0, 0);">安装方法：</strong>编译安装<br /><strong style="color: rgb(128, 0, 0);">安装步骤：</strong><br /><span style="color: rgb(128, 0, 0);"><strong>一、安装程序包下载</strong></span><br />下载php的安装包：php-5.3.19.tar.gz<br />下载TestLink的安装包：testlink-1.9.4.tar.gz<br />Mysql的安装具体见blog：《Bugzilla 4.2.3 for Linux redhat 5 安装介绍》</p><p><strong style="color: rgb(128, 0, 0);"><br />二、安装PHP</strong><br />1.安装php包<br /># tar zxvf php-5.3.19.tar.gz<br /># cd php-5.3.19<br /># ./configure &#8211;with-mysql=/data/msyql &#8211;with-apxs2=/data/apache2/bin/apxs<br /># make<br /># make test<br /># make install<br /># cp php.ini-development /usr/local/lib/php.ini<br /><br />2.httpd配置<br /># cd /data/apache2/conf/<br /># vi httpd.conf<br />在LoadModule处增加一行：<br />LoadModule php5_module&nbsp; modules/libphp5.so<br />在AddType处添加内容为：<br />AddType application/x-httpd-php .php .phtml<br />保存后重启httpd服务<br /># cd /data/apache2/bin/<br /># ./apachectl restart<br />备注：查找文件命令是 # find / -name 查找的文件名字<br /><br />3.php配置<br /># vi php.ini<br />修改max_execution_time=120<br />取消掉;extension=php_gd2.dll 前面的;号，让其生效<br />修改;date.timezone的值为：date.timezone=&#8221;Asia/Shanghai&#8221;，并去掉前面的;号，让其生效<br />修改mysql.default_port=3306<br />修改mysql.default_socket=/var/lib/mysql/mysqld.sock （注意：是mysql安装时设置的路径）<br />保存后重启httpd服务<br /># cd /data/apache2/bin/<br /># ./apachectl restart<br /></p><p><strong style="color: rgb(128, 0, 0);">三、安装配置TestLink</strong><br />1.解压文件包<br /># tar zxvf testlink-1.9.4.tar.gz<br /># mv testlink-ga-testlink-code /data/apache2/htdocs/TestLink<br /># cd /data/apache2/htdocs/<br /># chmod 777 &#8211;R testlink</p><p>2.修改testlink配置文件<br /># cd /data/apache2/htdocs/TestLink<br /># vi config.inc.php<br />修改如下内容：<br />$tlCfg-&gt;default_language = 'en_GB';改为$tlCfg-&gt;default_language = 'zh_CN';<br />$tlCfg-&gt;log_path=&#8217;/data/apache2/htdocs/TestLink/logs/&#8217;<br />$g_repositoryPath=&#8217; /data/apache2/htdocs/TestLink/upload_area/&#8217;<br />修改完毕保存</p><p>3.访问TestLink<br />在URL中输入：<a href="http://localhost/TestLink/install/index.php">http://localhost/TestLink/install/index.php</a><br />在界面中输入数据库的用户名：root；密码：123456<br />成功后出现TestLink的登录页面，用用户名：admin;密码：admin 登录即可。</p><p>到此，TestLink安装完毕，后续还需要进行邮箱配置。</p><p>&nbsp;</p></blockquote> 
<img src ="http://www.blogjava.net/lijun_li/aggbug/392224.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-29 18:45 <a href="http://www.blogjava.net/lijun_li/archive/2012/11/29/392224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dell optiplex 380 broadcom网卡在redhat 5下网卡识别和安装驱动！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/11/29/392222.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 29 Nov 2012 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/11/29/392222.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392222.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/11/29/392222.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392222.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392222.html</trackback:ping><description><![CDATA[<blockquote style="margin-right: 0px;" dir="ltr"><p>参考资料：<a href="http://blog.chinaunix.net/uid-10697776-id-3080243.html">http://blog.chinaunix.net/uid-10697776-id-3080243.html</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://hi.baidu.com/widebright/item/2f28cd0da72b9210addc70a7">http://hi.baidu.com/widebright/item/2f28cd0da72b9210addc70a7</a></p><p><br /><strong style="color: rgb(128, 0, 0);">问：</strong>dell的optiplex 360或者optiplex 380机器，broadcom网卡如何在redhat enterprise linux 5系统下识别和安装驱动？<br /></p><p><strong style="color: rgb(128, 0, 0);">答案如下：</strong><br />首先看网卡是否已经正确连接到计算机，使用的命令是lspci。redhat上使用lspci的输出：<br />[root@localhost ~]# lspci<br />00:00.0 Host bridge: Intel Corporation Eaglelake DRAM Controller (rev 03)<br />00:01.0 PCI bridge: Intel Corporation Eaglelake PCI Express Root Port (rev 03)<br />00:02.0 VGA compatible controller: Intel Corporation Eaglelake Integrated Graphics Controller (rev 03)<br />00:02.1 Display controller: Intel Corporation Eaglelake Integrated Graphics Controller (rev 03)<br />00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)<br />00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)<br />00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)<br />00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)<br />00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)<br />00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)<br />00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)<br />00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)<br />00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)<br />00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)<br />00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)<br />00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)</p><p>会发现系统识别不到这个网卡的设备，需要更新网卡设备读取文件，具体是：<br />用update-pciids 命令先更新一下 系统的pci.ids文件，这个最新的应该有人维护的在<a href="http://pciids.sourceforge.net/">http://pciids.sourceforge.net/</a> 可以找得到。<br />或者像我这样直接手工更新一下/usr/share/hwdata/pci.ids 文件的内容。<br />把pci.ids文件放到tmp目录<br />Redhat上使用命令：cp /tmp/pci.ids /usr/share/hwdata/pci.ids；回车后回复yes<br />再次执行lspci，结果如下，成功识别。<br />[root@localhost ~]# cp /tmp/llj/pci.ids /usr/share/hwdata/pci.ids <br />cp：是否覆盖&#8220;/usr/share/hwdata/pci.ids&#8221;? yes<br />[root@localhost ~]# lspci<br />00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)<br />00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)<br />00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)<br />00:02.1 Display controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)<br />00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)<br />00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)<br />00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)<br />00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)<br />00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)<br />00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)<br />00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)<br />00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)<br />00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)<br />00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)<br />00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)<br />00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)<br />02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)</p><p>网卡成功识别后，使用ifconfig命令看网卡信息，发现没有eth0，需要进行如下操作：<br />下载网卡驱动安装包：<br />kernel-2.6.18-92.el5.i686.rpm<br />kernel-devel-2.6.18-92.el5.i686.rpm<br />kernel-xen-2.6.18-92.el5.i686.rpm<br />kernel-xen-devel-2.6.18-92.el5.i686.rpm<br />tg3-3.122n-1.src.rpm<br />使用rpm &#8211;ivh 命令安装上面的kernel包<br />Tg3包安装步骤如下：<br />[root@localhost llj]# rpm -ivh tg3-3.122n-1.src.rpm <br />1:tg3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />[root@localhost llj]# cd /usr/src/redhat/<br />[root@localhost redhat]# rpmbuild -bb SPECS/tg3.spec<br />[root@localhost redhat]# rpm -ivh RPMS/i386/tg3-3.122n-1.i386.rpm <br />Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />1:tg3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />[root@localhost redhat]# modprobe tg3<br />打开网络设备：[root@linpcl root]#ifconfig eth0 up<br />使用命令ifconfig查看可看见eth0</p><p>到此Dell optiplex 380 broadcom网卡在redhat 5下网卡识别和安装驱动完毕。^_^。<br /></p></blockquote><img src ="http://www.blogjava.net/lijun_li/aggbug/392222.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-29 18:03 <a href="http://www.blogjava.net/lijun_li/archive/2012/11/29/392222.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bugzilla 4.2.3 for Linux redhat 5 安装介绍！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/11/29/392220.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 29 Nov 2012 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/11/29/392220.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/392220.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/11/29/392220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/392220.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/392220.html</trackback:ping><description><![CDATA[
<blockquote style="margin-right: 0px;" dir="ltr"><p>编写背景：<br />&nbsp;&nbsp; 这几天开始梳理和总结测试环境维护管理方面的工作，bugzilla和Testlink也该升级了，找了台机器重新安装这两个软件，先试试；顺带整理相关安装文档给测试人员进行安装学习并录像，便于以后要用或培训时可以拿出来分享。放在这里希望对测试新手有帮助。</p><p><br /><strong style="color: rgb(128, 0, 0);">参考资料：</strong><a href="http://3708841.blog.51cto.com/3698841/1020932">http://3708841.blog.51cto.com/3698841/1020932</a><br /><strong style="color: rgb(128, 0, 0);">安装环境：</strong>redhat enterprise linux 5 + mysql-5.5.27+httpd-2.2.23+bugzilla-4.2.3<br /><strong style="color: rgb(128, 0, 0);">安装方法：</strong>编译安装<br /><strong style="color: rgb(128, 0, 0);">安装步骤：</strong><br /><strong style="color: rgb(128, 0, 0);">一、安装程序包下载</strong><br />下载mysql-5.5.27所需的如下安装文件：<br />libevent-2.0.20-stable.tar.gz<br />cmake-2.8.9tar.gz<br />下载mysql-5.5.27的安装包：mysql-5.5.27.tar.gz<br />下载httpd-2.2.23的安装包：httpd-2.2.23.tar.bz2<br />下载bugzilla-4.2.3的安装包：bugzilla-4.2.3.tar.gz<br />下载bugzilla安装的相关组件包：DBD-mysql-4.0.22.tar.gz</p><p><strong style="color: rgb(128, 0, 0);">二、卸载linux安装后自动安装上的mysql和httpd所有相关包，具体如下：</strong><br />1. 用下面命令查看系统自动安装的mysql和http相关的包有哪些<br />rpm &#8211;qa|grep mysql<br />rpm &#8211;qa|grep http<br />2. 用下面命令删除系统自动安装的mysql和http的包<br />3. rpm -e &#8211;nodeps mysql已经安装的文件包名</p><p><strong style="color: rgb(128, 0, 0);">三、安装mysql并创建bugzilla数据库</strong><br />1. 安装libevent<br /># tar zxvf libevent-2.0.20-stable.tar.gz<br /># cd libevent-2.0.20-stable<br />#&nbsp; ./configure<br /># make<br /># make install<br /># ln -s /usr/local/lib/libevent-2.0.so.5&nbsp; /usr/lib/libevent-2.0.so.5<br />2. 安装cmake<br />安装前确认系统是否安装了ncurses包，具体如下：<br />#rpm -qa|grep ncurses<br />ncurses-5.5-24.20060715<br />ncurses-devel-5.5-24.20060715<br /># tar zxvf&nbsp; cmake-2.8.9tar.gz<br /># cd cmake-2.8.9<br /># ./bootstrap<br /># make<br /># make install<br />3. 安装mysql<br />1）建立mysql用户<br /># groupadd mysql<br /># useradd -g mysql -s /sbin/nologin mysql<br /># mkdir -p /data/db/mysql_data<br /># mkdir -p /data/mysql<br /># mkdir -p /etc/mysql<br /># mkdir /data/db/innodb_data/ -p<br /># mkdir /data/db/mysql_logs/binary_log -p<br /># mkdir /data/db/mysql_logs/innodb_log -p<br /># mkdir /data/db/mysql_logs/query_log -p<br /># mkdir /data/db/mysql_logs/slow_query_log -p<br /># mkdir /data/db/mysql_logs/error_log -p<br /># chown mysql. /data/db/* -R<br />2）安装配置<br /># tar zxvf mysql-5.5.27.tar.gz<br />#cd mysql-5.5.27<br /># cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/ -DMYSQL_DATADIR=/data/db/mysql_data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_SSL=bundled -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc/mysql -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1<br /># make &amp;&amp; make install<br />3）初始化数据库<br /># /data/mysql/scripts/mysql_install_db --basedir=/data/mysql/ --user=mysql --datadir=/data/db/mysql_data/<br />4）创建配置文件<br />#vi /etc/mysql/my.cnf<br />[client]<br />#password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = [your_password]<br />port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 3306<br />socket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /tmp/mysqld.sock<br />default-character-set=utf8<br />[mysqld]<br />wait_timeout=7200<br />port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 3306<br />socket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /tmp/mysqld.sock<br />character_set_server=utf8<br />basedir=/data/mysql<br />datadir=/data/db/mysql_data<br />back_log = 500<br />log-error=/data/db/mysql_logs/error_log/server.err<br />max_connections = 1024<br />max_connect_errors = 10<br />table_open_cache = 2048<br />max_allowed_packet = 16M<br />binlog_cache_size = 1M<br />max_heap_table_size = 64M<br />read_buffer_size = 2M<br />read_rnd_buffer_size = 16M<br />join_buffer_size = 8M<br />thread_cache_size = 128<br />thread_concurrency = 8<br />query_cache_size = 64M<br />query_cache_limit = 2M<br />ft_min_word_len = 4<br />#default-storage-engine = MYISAM<br />default-storage-engine = innodb<br />thread_stack = 192K<br />transaction_isolation = REPEATABLE-READ<br />tmp_table_size = 64M<br />log-bin=/data/db/mysql_logs/binary_log/db-bin<br />expire_logs_days=10<br />binlog_format=mixed<br />#general_log=1<br />#general_log_file=/data/db/mysql_logs/query_log/query.log<br />slow_query_log=1<br />long_query_time = 2<br />slow_query_log_file=/data/db/mysql_logs/slow_query_log/slow_query.log<br />server-id = 1<br />key_buffer_size = 200M<br />bulk_insert_buffer_size = 64M<br />myisam_sort_buffer_size = 128M<br />myisam_max_sort_file_size = 10G<br />myisam_repair_threads = 1<br />myisam_recover<br />innodb_additional_mem_pool_size = 16M<br />innodb_buffer_pool_size = 300M<br />innodb_data_file_path = ibdata1:100M;ibdata2:100M;ibdata3:100M;ibdata4:100M:autoextend<br />innodb_data_home_dir=/data/db/innodb_data/<br />innodb_write_io_threads = 8<br />innodb_read_io_threads = 8<br />innodb_thread_concurrency = 16<br />innodb_flush_log_at_trx_commit = 1<br />innodb_log_buffer_size = 8M<br />innodb_log_file_size = 256M<br />innodb_log_files_in_group = 3<br />innodb_log_group_home_dir=/data/db/mysql_logs/innodb_log<br />innodb_max_dirty_pages_pct = 90<br />innodb_lock_wait_timeout = 120<br />[mysqldump]<br />quick<br />max_allowed_packet = 16M<br />[mysql]<br />no-auto-rehash<br />[myisamchk]<br />key_buffer_size = 512M<br />sort_buffer_size = 512M<br />read_buffer = 8M<br />write_buffer = 8M<br />[mysqlhotcopy]<br />interactive-timeout<br />[mysqld_safe]<br />open-files-limit = 8192<br />5）后台启动<br /># cp support-files/mysql.server /etc/init.d/mysqld<br /># chmod 755 /etc/init.d/mysqld<br /># vim /etc/init.d/mysqld<br />basedir=/data/mysql<br />datadir=/data/db/mysql_data<br /># /etc/init.d/mysqld start<br />Starting MySQL&#8230;&#8230;&#8230;&#8230;&#8230;..[ OK ]<br /># netstat -an |grep 3306<br />tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN<br /># vim /etc/profile<br />用#注释掉之前的export内容，追加如下内容<br />export PATH=$PATH:/data/mysql/bin<br /># source /etc/profile<br /># mysql<br />Welcome to the MySQL monitor. Commands end with ; or \g.<br />Your MySQL connection id is 2<br />Server version: 5.5.27-log Source distribution<br />Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.<br />Oracle is a registered trademark of Oracle Corporation and/or its<br />affiliates. Other names may be trademarks of their respective owners.<br />Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.<br />6）添加Mysql自启动服务<br /># ln -sf /data/mysql/bin/mysql /sbin/mysql<br /># ln -sf /data/mysql/bin/mysqladmin /sbin/mysqladmin<br /># chkconfig mysqld on<br /># chkconfig --level 24 mysqld off<br /># chkconfig --list mysqld<br />mysqld 0:off 1:off 2:off 3:on 4:off 5:on 6:off<br /># vi /etc/ld.so.conf<br />用#注释掉文件内容，增加如下内容<br />/data/mysql/lib<br /># ldconfig -v |grep mysql<br />/data/mysql/lib:<br />libmysqlclient.so.18 -&gt; libmysqlclient_r.so.18.0.0<br />7）为mysql数据库root用户设置密码<br /># mysqladmin -uroot password "qwe123"<br /># mysql &#8211;uroot &#8211;p<br />use mysql<br />Grant all privileges on *.* to <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#39;&#114;&#111;&#111;&#116;&#39;&#64;&#39;&#37;&#39;">'root'@'%'</a> identified by 'qwe123' with grant option;<br />flush privileges;<br />select host, user, password from user;<br />增加远程登录权限<br />删除匿名用户：<br />delete from user where user=' ';<br />设置所有root密码<br />update user set password=password( "qwe123") where user= "root";<br />4. 创建bugzilla数据库和用户<br />1）创建数据库bugs<br />create database bugs;<br />show databases;<br />use bugs;<br />2）创建用户bugs<br />grant select,insert,update,delete,index,alter,create,lock tables,drop,references on bugs.* to <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#98;&#117;&#103;&#115;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;">bugs@localhost</a> identified by '123456';<br />flush privileges;</p><p><strong style="color: rgb(128, 0, 0);">四、安装httpd</strong><br />1. 安装apache<br /># tar jxvf httpd-2.2.23.tar.bz2<br /># cd httpd-2.2.23<br /># ./configure --prefix=/data/apache2 --enable-so --enable-rewrite --enable-vhost-alias=shared --enable-cache=shared --enable-file-cache=shared --enable-disk-cache=shared --enable-mem-cache=shared --enable-proxy=shared --enable-proxy-http=shared --enable-proxy-ajp=shared --enable-proxy-balancer=shared --enable-proxy-connect=shared --enable-dav --enable-dav-fs --disable-proxy-ftp --disable-userdir --disable-asis --enable-ssl --with-mpm=worker<br /># make<br /># make install<br />2. 添加apache自启动脚本<br />#cp /data/apache2/bin/apachectl /etc/init.d/httpd<br />#vi /etc/init.d/httpd<br />在第三行添加以下两行内容<br />#chkconfig:345 85 15<br />#description: Start and stops the Apache HTTP Server.<br />[root@localhost opt]#chkconfig httpd on<br />3. 启动HTTP服务<br />[root@localhost opt]#service httpd start<br />安装完毕，启动httpd，输入&#8220;http://ip&#8221;能看到&#8220;it works&#8221;证明成功。</p><p><strong style="color: rgb(128, 0, 0);">五、安装bugzilla</strong><br />1. 安装bugzilla<br /># tar zxvf bugzilla-4.2.3.tar.gz<br /># mv bugzilla-4.2.3 /data/apache2/htdocs/bugzilla<br />#chmod 777 /data/apache2/htdocs/bugzilla &#8211;R<br />2. 安装bugzilla所需模块<br />由于默认的perl安装包缺少一些bugzilla需要的模块，所以需要补充一些模块，最好是在线进行，不要一个一个的自己安装。以root身份运行在联网情况下用以下命令安装所需的最少perl模块：<br />#perl -MCPAN -e 'install "Bundle::Bugzilla"'<br />Are you ready for manual configuration? [yes] no<br />of modules we are processing right now? [yes] 敲回车，以后都敲回车！<br />#/usr/bin/perl install-module.pl -all<br /># perl -MCPAN -e 'install "mod_perl2"'<br />安装需要把Apache的apxs路径：/data/apache2/bin/apxs<br />#cd /data/apache2/htdocs/bugzilla<br />#./checksetup.pl<br />再次执行安装相关包命令<br /># /usr/bin/perl install-module.pl &#8211;all<br />安装DBD-mysql-4.0.22.tar.gz<br /># tar zxvf DBD-mysql-4.0.22.tar.gz<br /># cd DBD-mysql-4.0.22<br /># perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config<br /># make<br /># make install<br /># perl -MCPAN -e 'install "mod_perl2"'<br />安装需要把Apache的apxs路径：/data/apache2/bin/apxs<br />3. 配置bugzilla<br />#cd /data/apache2/htdocs/bugzilla<br />#vi localconfig<br />根据数据库的实际情况修改如下参数：<br />$db_name = 'bugs';<br />$db_user = 'bugs';<br />$db_pass = '123456';<br />$db_port = 3306;<br />$db_sock = '/var/lib/mysql/mysqld.sock';<br />$index_html = 1;<br />4. 配置启动apache<br />在 httpd.conf 中添加（或者去除注释）以下这一行：<br />AddHandler cgi-scrīpt .cgi<br />到 httpd.conf 中 DirectoryIndex 那一行,修改为：<br />DirectoryIndex index.html index.html.var index.cgi<br />&nbsp;指定Bugzilla的访问目录，在最后添加：<br />&lt;Directory /data/apache2/htdocs/bugzilla&gt;<br />AddHandler cgi-script .cgi<br />Options +Indexes +ExecCGI<br />DirectoryIndex index.cgi<br />AllowOverride Limit FileInfo Indexes<br />&lt;/Directory&gt;<br />5. 安装bugzilla数据库配置和文件权限设置<br />#cd /data/apache2/htdocs/bugzilla<br />#./checksetup.pl<br />开始自动安装bugzilla数据库表并设置管理员账号<br /># cd /data/apache2/htdocs/<br /># chmod 777-R bugzilla<br />编辑hosts文件：<br /># vi /etc/hosts<br />增加如下一行<br />127.0.0.1 localhost.localdomain localhost MYHOST<br />在浏览器输入：<a href="http://XXX.XXX.XXX.XXX/bugzilla">http://XXX.XXX.XXX.XXX/bugzilla</a>，用刚才设置的管理员账号登陆即可。</p><p>&nbsp;</p></blockquote> 
 
 
 
<img src ="http://www.blogjava.net/lijun_li/aggbug/392220.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-29 17:52 <a href="http://www.blogjava.net/lijun_li/archive/2012/11/29/392220.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>分享：网站页面加载性能测试工具Yslow培训</title><link>http://www.blogjava.net/lijun_li/archive/2012/10/05/389064.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 05 Oct 2012 04:24:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/10/05/389064.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/389064.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/10/05/389064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/389064.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/389064.html</trackback:ping><description><![CDATA[<br />编写背景：&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; 今天要给部门培训，讲的是《测试工作基本技能：职业规划和邮件处理》，顺带把培训文档《网站页面加载性能测试工具Yslow培训》给整理了一下，放到这里，感兴趣的同学可以看一看和了解。<br />&nbsp;&nbsp;&nbsp;&nbsp; 在当今B/S结构的网站，用户体验非常重要，流量引入进来后，网站页面的展示速度影响着用户的感受。<br /><br />&nbsp;&nbsp;<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow1.png" width="571" height="404" />&nbsp;&nbsp; <br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow2.png" width="596" height="438" /><br /><br /><img style="width: 595.9px; height: 437.06px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow3.png" width="595" height="437" /><br /><br /><img style="width: 595.88px; height: 438.08px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow4.png" width="595" height="438" /><br /><br /><img style="width: 597.26px; height: 433.8px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow5.png" width="597" height="433" /><br /><br /><img style="width: 598.44px; height: 451.42px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow6.png" width="598" height="451" /><br /><br /><img style="width: 597.44px; height: 441.67px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow7.png" width="597" height="441" /><br /><br /><img style="width: 597.59px; height: 449.3px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow8.png" width="597" height="449" /><br /><br /><img style="width: 598.89px; height: 431.07px;" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/yslow9.png" width="598" height="431" /><br /><br /><br /><br /><img src ="http://www.blogjava.net/lijun_li/aggbug/389064.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-10-05 12:24 <a href="http://www.blogjava.net/lijun_li/archive/2012/10/05/389064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>纪念：测试工作跨过9年！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/10/05/389063.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Fri, 05 Oct 2012 03:58:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/10/05/389063.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/389063.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/10/05/389063.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/389063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/389063.html</trackback:ping><description><![CDATA[<br />最近着迷上了梁博演唱的歌曲《北京 北京》、《回来》、《我爱你中国》，也许是每每听到歌声中的内容让我想起了北京生活的那12年。一幕一幕像放电影一样，做测试，9个年头了。感触是五花八门：有喜悦、有伤感、有泪水、有欢笑、有痛苦、有坚强、有幼稚、有成熟、有迷茫、有慌张、有收获、有自信。。。。。<br /><br />9年了，过的真快，9年了！实现并超出了当初在大学的梦想：月薪达到4000元，自己养活自己、还要好好的孝顺自己最亲爱的父母和长辈。那时的自己多么纯真、勇敢、坚强、努力，对生活充满着斗志，这是今天看了自己以前的博文感受到的。<br /><br />随着年龄的增长、梦想的一个个实现，人变的有些知足和满足，慢慢的变的懒惰和欣慰、也许是在这9年里看了太多、经历了太多，已经没有了当年的冲动、更多的是冷静，已经没有了当年的激情、更多的是淡定。<br /><br />在这9年里，我<strong><font face="宋体">追逐自己的梦想，追逐成功带来的快乐，而非成功本身，我问我自己：经历的这9年里，我快乐吗？我的心告诉我：我快乐，痛并快乐着！<br /></font></strong><br />感谢上天，我是个幸福的人，能做我喜欢的工作、享受到了工作过程中成功带来的快乐，希望这个动力能在持续8年，8年后也许我就该退休了！！！！<br /><img src ="http://www.blogjava.net/lijun_li/aggbug/389063.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-10-05 11:58 <a href="http://www.blogjava.net/lijun_li/archive/2012/10/05/389063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发测试工作考核数据之---生产环境bug修复及时率！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/06/05/380074.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Tue, 05 Jun 2012 14:42:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/06/05/380074.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/380074.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/06/05/380074.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/380074.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/380074.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体">编写背景：</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">前段时间有不少猎头来电询问是否考虑换工作，我一一回绝；因为在目前公司要完成的目标目前完成了</span>1<span style="font-family: 宋体">个，正在进行中</span>1<span style="font-family: 宋体">个，剩余</span>1<span style="font-family: 宋体">个还没有开始；其中一个猎<br />头问我为什么来这家公司，主要是因为我的老板懂测试这个工种和工作，非常实实在在的支持和重视测试部门。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">非常感谢今年的绩效考核工作，增加了一项考核指标：生产环境</span>bug<span style="font-family: 宋体">修复及时率，让我有机会学习和学会如何用这项指标来驱动开发的工作和检查测试工作成<br />果，感谢我的老板给我的工作指导和好的想法，感谢在工作中时常提醒我做重要事情并给我很多工作建议的mac。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">今天拿出来和同行分享，希望对大家有帮助。^_^。</span></p>
<p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">点子</span>1<span style="font-family: 宋体">：生产环境</span>bug<span style="font-family: 宋体">的</span>review<span style="font-family: 宋体">会议</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">我们有固定的时间每周四上午，花</span>1<span style="font-family: 宋体">小时和开发及管理层过生产环境没有处理的</span>P0<span style="font-family: 宋体">、</span>P1<span style="font-family: 宋体">、</span>P2<span style="font-family: 宋体">问题，时间来得及会把</span>P3<span style="font-family: 宋体">也过一过；主要让大家知道目前生产环境<br />都有哪些问题，处理进展如何，什么时候能解决，解决这些问题有什么困难。连续开了</span>4<span style="font-family: 宋体">周，有一些进步，还需继续引导。</span></p>
<p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">点子</span>2<span style="font-family: 宋体">：每周过一遍生产环境</span>bug<span style="font-family: 宋体">修复及时率数据</span></p><span style="font-family: 宋体; font-size: 10.5pt">给大家分享一下上半年的数据，还没有进行更深入的分析。从数据上可以看出测试漏出去不少问题，我在想：为什么会漏出去这些问题？在哪些环节给漏出去的？<br />我们要通过什么方法改善？为什么修复及时率这么低，工作流程中哪个地方有问题？数据因什么原因上升或下降？<br /><br /><img style="width: 978px; height: 343px" border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/kaifakaohezhibao.png" width="978" height="343" /><br /><br /></span> <img src ="http://www.blogjava.net/lijun_li/aggbug/380074.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-06-05 22:42 <a href="http://www.blogjava.net/lijun_li/archive/2012/06/05/380074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>要想做好测试工作，就要学会思考并问为什么！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/06/05/380070.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Tue, 05 Jun 2012 14:00:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/06/05/380070.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/380070.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/06/05/380070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/380070.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/380070.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体">编写背景：</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">最近亲自在跟两个重要项目，感受很多，明天准备写其中一个项目的项目测试总结在组内分享，有一个还在背后默默关注。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在深圳工作</span>1<span style="font-family: 宋体">年了，每当组内的测试人员出现一些很常识的问题和面试过的测试人员回答的一些问题；非常明显的感觉到南北测试人员工作水平和对测试工作理<br />解的差异，在深圳想找到有共鸣的人好难啊。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">今天写这个文章，只是把工作中的一些片段和场景与大家分享，希望测试新人在做测试工作中多一些执着、多一些思考和多问为什么？</span></p>
<p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt"><strong><span style="font-family: 宋体; color: red">故事</span><span style="color: red">1</span><span style="font-family: 宋体; color: red">：搜索列表页的一个神奇</span><span style="color: red">bug</span></strong></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体"><strong>问题现象：</strong>一个已经测试通过并上线的商品搜索列表页，页面功能很简单、有搜索的筛选项、商品展示、商品翻页功能。通常大家在测试翻页功能时，基本测<br />试点都是测试上一页、下一页、具体页数、页数输入框（正常、异常）；有意思的是这个搜索列表结果有</span>500<span style="font-family: 宋体">多个商品</span>1<span style="font-family: 宋体">百页，我就一直点击下一页、一页一页的浏<br />览商品，当浏览到第</span>24<span style="font-family: 宋体">页时，发现浏览器访问报错提示连接不上；访问其它网站或该网站的其它功能就正常。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体"><strong>问题分析：</strong>此处的点击下一页的翻页程序代码，每翻一页，</span>URL<span style="font-family: 宋体">请求就会多加一串字符&#8220;</span>swIFRPIDUwMH0gcHJpY2VfQ05ZOjUwMDxKaW1pPnByaWNlX0NOWTp7MCBUTyA1MDB9IHByaWNlX0NOWTo1MDA8SmltaT5wcmljZV9DTlk6ez<br />AgVE8gNTAwfSBwcmljZV9DTlk6NTAwPEppbWk+cHJpY2VfQ05ZOn<span style="font-family: 宋体">&#8221;；这串字符出现</span>6<span style="font-family: 宋体">次以上后，</span>url<span style="font-family: 宋体">访问长度超过</span>2k<span style="font-family: 宋体">浏览器请求就会参数丢失，导致页面访<br />问报错</span></p>
<p style="text-indent: 21pt"><strong>5<span style="font-family: 宋体">个思考点：</span></strong></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: 宋体">思考</span>2<span style="font-family: 宋体">：测试人员如何能测试出这种问题呢？我在想，聪明的办法那就是对设计实现熟悉了解，了解开发是如何实现的，应该可以想出来这个地方会有问题。另<br />一个办法就是增加这样的测试点，用自动化测试脚本来测试这种大数据量的功能极限测试。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>3<span style="font-family: 宋体">：对比其它网站，为什么别的网站没有这种问题呢？开发在设计上没有考虑这种情况？</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>4<span style="font-family: 宋体">：为什么开发没有自测发现这个问题？我在想，开发没有考虑到</span>URL<span style="font-family: 宋体">会有问题</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>5<span style="font-family: 宋体">：我们如何改进和提高呢？我在想，测试除了要补充测试用例；开发要整理出搜索结果列表页的一些设计规范，同时要参考和同行对比；开发要对系统的<br />实现逻辑加强极限测试。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">最后我想，还好这个场景不常见，影响范围没有很大的杀伤力。</span></p>
<p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt"><strong><span style="font-family: 宋体; color: red">故事</span><span style="color: red">2</span><span style="font-family: 宋体; color: red">：两个</span><span style="color: red">bug</span><span style="font-family: 宋体; color: red">还是</span><span style="color: red">1</span><span style="font-family: 宋体; color: red">个</span><span style="color: red">bug</span></strong></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体"><strong>现象：</strong>一个问题是：商品买满打</span>XX<span style="font-family: 宋体">折，从购物车进入到订单提交页中，商品总结算金额显示不正确；另一个问题是：商品买满减</span>XX<span style="font-family: 宋体">元，从购物车进入到订单提<br />交页中，商品总结算金额显示不正确。开发认为这是</span>1<span style="font-family: 宋体">个</span>bug<span style="font-family: 宋体">，因为都是商品总结算金额显示不正确；我认为是</span>2<span style="font-family: 宋体">个</span>bug<span style="font-family: 宋体">，因为是两个不同的测试用例场景得出的问<br />题，不能因为现象一样就认为是一个</span>bug<span style="font-family: 宋体">，同时怀疑代码里面的处理逻辑是不一样的。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体"><strong>分析：</strong>为什么这种问题在我过去工作</span>8<span style="font-family: 宋体">年的公司和开发团队，没有开发管理人员认为这类</span>bug<span style="font-family: 宋体">是</span>1<span style="font-family: 宋体">个，而认为是</span>2<span style="font-family: 宋体">个；而这位开发管理人员认为是</span>1<span style="font-family: 宋体">个；我在<br />想：原因是这位开发管理人员很害怕</span>bug<span style="font-family: 宋体">？还是这位开发管理人员很不喜欢看到很多的</span>bug<span style="font-family: 宋体">，因为今天我们测试两个页面，</span>4<span style="font-family: 宋体">小时报了</span>35<span style="font-family: 宋体">个</span>bug<span style="font-family: 宋体">让人心情很不爽？答<br />案不知道，只要解决就好。</span></p>
<p style="text-indent: 21pt"><strong>5<span style="font-family: 宋体">个思考点？</span></strong></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>1<span style="font-family: 宋体">：站在用户角度，如果是用户发现的，我们告诉用户是</span>1<span style="font-family: 宋体">个问题？用户能明白吗？</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>2<span style="font-family: 宋体">：站在开发设计角度，需要知道那个地方的实现逻辑都是一个类或方法吗？即使是一个类或方法，当参数不一样时内部处理逻辑一样吗？找个时间问具体<br />写代码的开发人员问问就知道了？</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>3<span style="font-family: 宋体">：下次碰到此类开发管理人员该如何相处？我在想：只要改了就行，不能和这类人去纠结</span>1<span style="font-family: 宋体">个还是</span>2<span style="font-family: 宋体">个，因为道不同不能理解；但是测试工作总结时要算成</span><br />2<span style="font-family: 宋体">个。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>4<span style="font-family: 宋体">：为什么不能报成</span>1<span style="font-family: 宋体">个</span>bug<span style="font-family: 宋体">，因为当把多个</span>bug<span style="font-family: 宋体">放到</span>1<span style="font-family: 宋体">个</span>bug<span style="font-family: 宋体">里报时，如何有效跟踪？（比如：开发修改转测后，测试验证有一部分没有修改好，这个</span>bug<span style="font-family: 宋体">会<br />来回修复、打开）；如何有效做</span>bug<span style="font-family: 宋体">分析？（测试任务结束后，如何分类分析</span>bug<span style="font-family: 宋体">的错误类型及开发工作改进建议数据分析）。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">思考</span>5<span style="font-family: 宋体">：为什么这么明显的</span>bug<span style="font-family: 宋体">开发没有自测出来？开发做自测了吗？这样的开发管理人员管理的开发团队，转测出现这样低级的</span>bug<span style="font-family: 宋体">，消耗了多少不必要的测试<br />成本（测试环境部署</span>+bug<span style="font-family: 宋体">报告跟踪和验证时间）和开发修复版本成本？降低了多少工作效率？这类</span>bug<span style="font-family: 宋体">有多少？</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">最后我想：我要通过什么方法来改变？<br /><br />&nbsp;&nbsp;&nbsp; 生活还在继续、工作也在继续，世界之大、无奇不有，每天都有不同的见闻和收获，活着真好！<br /><br /></span></p><img src ="http://www.blogjava.net/lijun_li/aggbug/380070.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-06-05 22:00 <a href="http://www.blogjava.net/lijun_li/archive/2012/06/05/380070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试管理之绩效考核--学会用数据说话！</title><link>http://www.blogjava.net/lijun_li/archive/2012/03/19/372225.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Mon, 19 Mar 2012 14:36:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/03/19/372225.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/372225.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/03/19/372225.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/372225.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/372225.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体">编写背景：</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">今天晚上在家喝着红酒和可乐参杂的酒，味道非常好；好想退休啊！最近</span>2<span style="font-family: 宋体">周心情欠佳，主要是工作上的事情；工作那么久，遇到自己不能接受的事情我还是控制不了自己的情绪；今天静心想想最终还是开发惹的祸，开发质量非常非常的差，改个文字也能把功能改的不能用，真是无语；目前的开发团队能力水平真是让人堪忧、最倒霉和郁闷的是我的测试团队；从本周开始将要开始收集开发转测版本次数及</span>bug<span style="font-family: 宋体">的情况、从本周开始将要收集开发有多少延期转测的情况。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">测试管理之前有写过</span>2<span style="font-family: 宋体">篇博文，今天给大家分享今年的最新版本，希望对大家有帮助！</span></p>
<p style="text-indent: 21pt">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">做为管理者，每次给员工做工作绩效考核都会遇到这样或那样的问题，如：凭什么那位员工得分高？如何通过数据更客观的对员工的工作做考核？为什么某些人做的多，问题很多，结果不好？</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在最近一次面试中，我问一个面试人：&#8220;如果你所管理的员工出现这么个现象：她做了很多工作，但问题很多，结果不好？你怎么看？&#8221;他回答到&#8220;说明这个人能力不行！！！&#8221;我说：&#8220;这里面管理者有问题&#8221;。。。。。。。。。。。</span></p>
<p>&nbsp;</p>
<p><img height="473" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic1.jpg" width="662" border="0" longdesc="" /><br /><img height="426" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic2.jpg" width="654" border="0" longdesc="" /></p>
<p><img height="491" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic3.jpg" width="659" border="0" longdesc="" /><br /><img height="482" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic4.jpg" width="663" border="0" longdesc="" /><br /><img height="443" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic5.jpg" width="658" border="0" longdesc="" /><br /><img height="491" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic6.jpg" width="657" border="0" longdesc="" /><br /><img height="483" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic7.jpg" width="661" border="0" longdesc="" /><br /><img height="408" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic8.jpg" width="662" border="0" longdesc="" /><br /><img height="426" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic9.jpg" width="660" border="0" longdesc="" /><br /><img height="378" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic10.jpg" width="657" border="0" longdesc="" /><br /><img height="479" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic11.jpg" width="641" border="0" longdesc="" /><br /><img height="486" alt="" src="http://www.blogjava.net/images/blogjava_net/lijun_li/pic12.jpg" width="646" border="0" longdesc="" /><br /><br /><br /></p><img src ="http://www.blogjava.net/lijun_li/aggbug/372225.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-03-19 22:36 <a href="http://www.blogjava.net/lijun_li/archive/2012/03/19/372225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转）测试者之路---软件测试从业人员职业发展最新诠释！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 08 Mar 2012 16:01:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/371559.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/371559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/371559.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;这篇文章非常不错，收藏到blog和同行分享。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文章出处：<span lang="EN-US"><a href="http://qa.taobao.com/?p=12059"><font face="微软雅黑">http://qa.taobao.com/?p=12059<br /></font></a><br />
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">本文中所述的测试主要指软件领域的测试，与核武器的测试无关。<span lang="EN-US"><br /></span>测试是什么？它如同医学、教学一样是个独立的、专业的行业。测试人员之于软件系统犹如医生之于患者，教师之于学生。医生的职责是治病救人，教师的职责是教书育人。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">测试这个行业的从业人员是保证软件实现的完整性和正确性。当然：虽然患者的身体健康与否取决于患者自己，但一个优秀的医生除了有精湛的医术外，也会用各种方法渠道让患者明白如何预防疾病发生。虽然学生的成长也是取决于学生自己，但一个优秀的教师除了有精湛的教书能力外，也会用各种方法渠道让学生明白做人的道理。所以，虽然软件质量的好坏取决于实现软件的人，但是一个优秀的测试人员除了优精湛的测试技能外，还会用各种方法渠道让实现者明白如何做出一个高质量的软件产品。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br /></span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">现在言归正传，一个测试人员之路是什么？前面说了，测试是一个行业，所谓行行出状元，测试行业的状元是什么样的呢？继续细分，如同医疗行业有内科、外科、脑科、心血管科等等各种专业领域；测试行业本身也有各种专业领域：功能、性能、安全、可用性等等。每个专业领域的状元一定是在这个专业领域上有精湛造诣的人。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br /></span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">到这里，大家一定会有疑问，做到什么样才叫有精湛造诣呢？现在讲个大家耳熟能详的故事<span lang="EN-US">: </span>魏文王问名医扁鹊说：&#8220;你们家兄弟三人，都精于医术，到底哪一位最好呢？&#8221; 扁鹊答说：&#8220;长兄最好，中兄次之，我最差。&#8221; 文王再问：&#8220;那么为什么你最出名呢？ 扁鹊答说：&#8220;我长兄治病，是治病于病情发作之前。由于一般人不知道他事先能铲除病因，所以他的名气无法传出去，只有我们家的人才知道。我中兄治病，是治病于病情初起之时。一般人以为他只能治轻微的小病，所以他的名气只及于本乡里。而我扁鹊治病，是治病于病情严重之时。一般人都看到我在经脉上穿针管来放血、在皮肤上敷药等大手术，所以以为我的医术高明，名气因此响遍全国。&#8221;<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">首先：若想成为某个测试领域的专家，个人认为应具备如扁鹊之力，除了要精通于自身领域内的知识，对系统也了如指掌，快速看到问题现象，同时也能够快速通过现象找到问题本质，最后用最简单最有效的解决方案来根治问题。比如在经脉上针灸、在皮肤上敷药。如果要大动干戈、开肠破肚解决问题，那是普通水平。如果是头痛医头脚痛医脚，那是庸医；呵呵。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">其次：小隐隐于野。若想成为某个测试领域的大师的话，则需具备扁鹊二哥的能力，当系统还在设计的时候，就能够找到致病因素，用简单高效的手段铲除病因。也就是要具备系统分析师的能力，对设计的功能、性能、易用性、可靠性、可维护性、可移植性、安全性、可测性等各方面能够起到指导作用。知易行难，要做到如此很考验人的毅力。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">最后：大隐隐于市。若想成为测试领域的隐士的话，则需具备扁鹊大哥的能力，能够在软件系统创造前期，就将问题防范于未然。要做到这样，除了需要有精湛的技术外，还需具备的是对这个行业的热爱，具备帮助他人成功的心态。并且要有甘于寂寞、淡泊名利的心境，因为几乎没有人知道你的存在，更少人懂你。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">接下来我们再讲讲<span lang="EN-US">TL</span>（<span lang="EN-US">Techlead</span>），<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">TL</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">如同主任医生或者硕士生导师，他不仅在某个领域内有很深的造诣同时也非常有热情继续在这个领域中深入，并且也愿意带领小部分人一起来探索、研究、创新。套用前面的故事，即如同扁鹊三兄弟的父亲。据说他将自己的行医之道总结了<span lang="EN-US">2</span>本秘籍，一本是《医道》、一本是《防道》，根据扁鹊三兄弟的天资，分别传授了给他们。扁鹊三兄弟的功力也是长年跟着医术高明的父亲看病实践及理论教导而日益增长的。所以<span lang="EN-US">TL</span>不仅自己能够独立做战，也能够带领人共同做战的<span lang="EN-US">leader</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">以上是对<span lang="EN-US">P</span>路线的阐释<span lang="EN-US"><br /></span>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<span lang="EN-US"><br /></span>以下是对<span lang="EN-US">M</span>路线的阐释<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">前面说了测试工作本身是为了保证软件产品的正确性完整性。但在研发体系运作中，测试团队或者测试部门的建立则是为了提升研发效率。<span lang="EN-US"><br /></span>先阐释下，如何来理解它是个效率部门。这里做一个简单的模型，模型的前提是：<span lang="EN-US">1</span>、先把需求设计阶段抛开，单从开发和测试来说；<span lang="EN-US">2</span>、产量和质量是相当的。假设一个场景：如果<span lang="EN-US">1</span>个人做<span lang="EN-US">1</span>个产品需要<span lang="EN-US">15</span>天，<span lang="EN-US"> 2</span>个人做的话，就能将原先串行的工作变成并行，这样能够缩短系统上线工期。变化如下图<span lang="EN-US">1</span>所示。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE1.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1025" height="175" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE1.jpg" width="667" border="0"  alt="" /></span></a><o:p></o:p></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">图<span lang="EN-US">1<o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">前提假设都不变的情况下，如果变成如图<span lang="EN-US">2</span>的话<span lang="EN-US">,</span>那么这个研发体系实在不咋地。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE2.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1026" height="99" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE2.jpg" width="645" border="0"  alt="" /></span></a>&nbsp;<o:p></o:p></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">图<span lang="EN-US">2<o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">前提假设都不变的情况下，如果变成图<span lang="EN-US">3</span>的话，那么这个研发体系则比较优秀，因为不仅开发和测试本身的工期都得到了缩短，总工期也得到了大大缩短，并且还降低了总人力成本。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE3.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1027" height="94" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE3.jpg" width="635" border="0"  alt="" /></span></a><o:p></o:p></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">图<span lang="EN-US">3<br />&nbsp;<o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">以上几种体系的建立实施都离不开管理者，即是我们所说的<span lang="EN-US">M</span>。下面我们就来说说作为测试部门的<span lang="EN-US">M</span>应该做哪些事。<span lang="EN-US"><br /></span>一、<span lang="EN-US">&nbsp;M</span>得具备如上面模型中谈到的测试体系建设及研发体系建设的能力。要有系分或者架构师的视角来优化测试体系和研发体系。<span lang="EN-US"><br /></span>二、<span lang="EN-US">&nbsp;M</span>得有<span lang="EN-US">Loadbalance</span>的功能。测试部门作为研发部门中的公共资源部门，需要起到削峰填谷的作用，合理得分配和调度测试资源是<span lang="EN-US">M</span>的基本职责。<span lang="EN-US"><br /></span>三、<span lang="EN-US">&nbsp;M</span>得是个优秀的<span lang="EN-US">HR</span>。招聘策略、培训体系、员工关怀、员工成长体系乃至离职管理都得搞定。这也是基本职责。<span lang="EN-US"><br /></span>四、<span lang="EN-US">&nbsp;M</span>得是个指挥家。需要指挥协调团队中各种专家为同一首交响曲而合作共同演奏。<span lang="EN-US"><br /></span>五、<span lang="EN-US">&nbsp;M</span>得是个司令官。战略可大可小，时刻得记得给团队一个方向和目标。<span lang="EN-US"><br /></span>六、<span lang="EN-US">&nbsp;M</span>得是个队长。战术的落地，跟踪执行、绩效<span lang="EN-US">review</span>等。就公司来说，这对保证公司业绩完成是非常重要的内容<span lang="EN-US"><br /></span>七、<span lang="EN-US">&nbsp;M</span>得是个外交官。要获得客户、员工、老板、同事等的支持和合作，没点外交能力还真搞不定。<span lang="EN-US"><br /></span>八、<span lang="EN-US">&nbsp;M</span>得是个销售员。要将自己的产品、思想销售给有需要的人，甚至那些还未意识到自己有需要的人。必要时还得盗梦空间下。<span lang="EN-US"><br /></span>另外，<span lang="EN-US">M</span>还得懂点心理学、经济学、社会学、哲学等等，总之各种学科都略懂肯定没错啦。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">《大学》中有谈到一个人从内在修养到外发事业的完成是这样<span lang="EN-US">8</span>个顺序：格物、致知、诚意、正心、修身、齐家、治国、平天下。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">大致意思是了解事物原来才能拥有知识，心意才会真诚，思想才会端正，然后才能提高自身的品德修养，自身品德修养高了才能管理好家庭、治理好国家、使天下太平。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">所以说难，<span lang="EN-US">M</span>真的很难，要懂的知识很多，要想的事很多。说容易也容易，其实只要诚意正心，心无旁骛，真心为客户好、为员工好、为公司好，用心将工作内容做好就好。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<span lang="EN-US"><br /></span>以下内容献给在<span lang="EN-US">P</span>和<span lang="EN-US">M</span>中纠结徘徊的同学们<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">很多同学格物致知到了<span lang="EN-US">P6</span>、<span lang="EN-US">P7</span>后就会犹豫自己是该继续走<span lang="EN-US">P</span>还是改走<span lang="EN-US">M</span>，也有的同学转了<span lang="EN-US">M</span>后，也还纠结，要么感觉没变化，要么感觉不做<span lang="EN-US">P</span>的事，心里没底。<span lang="EN-US"><br /></span>这里我将我的理解分享给大家，仅供参考。我认为打造一个团队如同打造一座房子，<span lang="EN-US">P</span>是房子的顶梁柱，而<span lang="EN-US">M</span>是房子的横梁。如下图所示，图中的<span lang="EN-US">P</span>和<span lang="EN-US">M</span>的数字只是为了举例方便，千万不要生搬硬套。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE4.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1028" height="334" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE4.jpg" width="348" border="0"  alt="" /></span></a><br /></span>图<span lang="EN-US">4<br /></span>图<span lang="EN-US">4</span>中可以看出，如果要更上一层楼，就要有更高的<span lang="EN-US">P</span>和更高的<span lang="EN-US">M</span>。那么做为已有的<span lang="EN-US">P</span>和<span lang="EN-US">M</span>应该怎么到更高的数字呢？以图<span lang="EN-US">4</span>中的数字为例，<span lang="EN-US">P6</span>若要晋升到<span lang="EN-US">P7</span>，那么做的事一定是能够让团队的技术能力或工作产出上一个台阶的。你可以选择做其他<span lang="EN-US">P7</span>正在做的事，但实际上因为每个人的工作机会和成长路线都不尽相同，所以很难去模仿他人，因此更多的时候还是要触类旁通，自己创新。<span lang="EN-US">P8</span>、<span lang="EN-US">P9</span>等等以此类推。<span lang="EN-US"><br /></span>同理，<span lang="EN-US">M</span>要从<span lang="EN-US">M2</span>晋升到<span lang="EN-US">M3</span>，则是要让团队在更高的一层楼上高效得运作。每层楼的人数并不是晋升的关键，但是在<span lang="EN-US">2</span>楼运作还是在<span lang="EN-US">3</span>楼运作则是关键。<span lang="EN-US"><br /></span>看到这里，大家肯定有疑问了，说的简单啊，可真实情况咋那么纠结呢。这个说：&#8220;我是<span lang="EN-US">P</span>，可是做了一堆<span lang="EN-US">M</span>的事。&#8221;另外一个又说：&#8220;我是<span lang="EN-US">M</span>，可也做了一堆<span lang="EN-US">P</span>的事。&#8221;到底怎么回事呢？其实这就对了，纠结说明你又上进又有责任感。为什么这么说呢？所谓世上不如意事十有八九。现实中很难有<span lang="EN-US">M</span>和<span lang="EN-US">P</span>都匹配得非常完美的情况。仍旧用图<span lang="EN-US">4</span>举例：如果你是<span lang="EN-US">P7</span>，可是团队中又没有<span lang="EN-US">M3</span>，你又希望团队进步，希望其他成员用你的思想、方法、理论在<span lang="EN-US">3</span>楼运作，怎么办？要招聘，更要承担<span lang="EN-US">M3</span>的很多责任。同样，如果你是<span lang="EN-US">M2</span>，你非常希望你的团队能够更上一层楼，但是又没有<span lang="EN-US">P7</span>，怎么办？在招聘未果的情况下，你就不得不承担很多<span lang="EN-US">P7</span>应该做的事了。以此类推。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">只要社会在发展、公司在发展，楼总是需要越建越高的，而人才总是越来越稀缺的。所以我们每个人除了要有自己的目标自己的梦想外，也都得接受现实的不完美。人生短暂，让我们一起享受在实现目标和梦想过程中的种种挑战吧！一起为高楼的建设而努力吧！<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">本文与在测试行业道路上孜孜不倦追求卓越的同行们共勉。<span lang="EN-US"><o:p></o:p></span></span></p><o:p></o:p></span></div><img src ="http://www.blogjava.net/lijun_li/aggbug/371559.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-03-09 00:01 <a href="http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>