<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>josh_sulin (苏林)</title>
    <link>https://ruby-china.org/josh_sulin</link>
    <description>和大家一起交流学习Ruby 共同进步</description>
    <language>en-us</language>
    <item>
      <title>ubuntu 安装 ruby-ldap 报错</title>
      <description>&lt;p&gt;运行 gem install ruby-ldap -v '0.9.13'&lt;/p&gt;

&lt;p&gt;Building native extensions.  This could take a while...
ERROR:  Error installing ruby-ldap:
    ERROR: Failed to build gem native extension.&lt;/p&gt;

&lt;p&gt;/home/sulin/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -r ./siteconf20141229-12074-2n0cs9.rb extconf.rb
--with-openldap2
checking for ldap.h... yes
checking for lber.h... yes
checking for ldap_ssl.h... no
checking for openssl/ssl.h... yes
checking for openssl/crypto.h... yes
checking for main() in -lcrypto... yes
checking for main() in -lssl... yes
checking for main() in -lnsl... yes
checking for main() in -lpthread... yes
checking for main() in -lresolv... yes
checking for main() in -llber... yes
checking for main() in -lldap_r... yes
checking for main() in -lldap... yes
checking for ldap_init() in ldap.h... yes
checking for ldap_set_option()... yes
checking for ldap_get_option()... yes
checking for ldap_start_tls_s()... yes
checking for ldap_memfree()... yes
checking for ldap_perror()... yes
checking for ldap_sort_entries()... yes
checking for ldapssl_init()... no
checking for ldap_sslinit()... no
checking for ldap_sasl_bind_s()... yes
checking for ldap_compare_s()... yes
checking for ldap_add_ext_s()... yes
checking for ldap_compare_ext_s()... yes
checking for ldap_delete_ext_s()... yes
checking for ldap_modify_ext_s()... yes
checking for ldap_search_ext_s()... yes
checking for ldap_unbind_ext_s()... yes
checking for ldap_sasl_interactive_bind_s()... yes
creating Makefile&lt;/p&gt;

&lt;p&gt;上述问题仅需安装三个包即可：&lt;/p&gt;

&lt;p&gt;sudo apt-get install libsasl2-dev libldap2-dev ruby-ldap&lt;/p&gt;</description>
      <author>josh_sulin</author>
      <pubDate>Mon, 29 Dec 2014 16:34:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/23457</link>
      <guid>https://ruby-china.org/topics/23457</guid>
    </item>
    <item>
      <title>Solr 安装指南 Ubuntu 篇</title>
      <description>&lt;hr&gt;

&lt;p&gt;为什么写这篇文章&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;由于我一直从事 php/ruby 相关工作，对 java 及 java 环境都没有实际操作过，这篇文章算是纪念，同时分享给和我一样情况的 Ruby 程序员&lt;/li&gt;
&lt;li&gt;对 Solr 感兴趣的程序员，同时又不愿折腾配置环境的开发人员&lt;/li&gt;
&lt;li&gt;感谢我的同事 (王鸿) 在我配置环境时，对我的帮助&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;
&lt;h2 id="Java 环境配置(JDK)"&gt;Java 环境配置 (JDK)&lt;/h2&gt;
&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;点击下载 &lt;a href="http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html" rel="nofollow" target="_blank" title=""&gt;JDK&lt;/a&gt;, 如 (jdk-7u45-linux-x64.tar.gz)&lt;/li&gt;
&lt;li&gt;解压 (jdk-7u45-linux-x64.tar.gz) tar -zxvf  jdk-7u45-linux-x64.tar.gz, 重命名为 jdk&lt;/li&gt;
&lt;li&gt;配置 Java 环境变量 (vim /etc/profile)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; JAVA_HOME&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="sr"&gt;/home/&lt;/span&gt;webuser&lt;span class="sr"&gt;/java/&lt;/span&gt;jdk
&lt;span class="k"&gt;export&lt;/span&gt; CLASSPATH&lt;span class="p"&gt;=.:&lt;/span&gt;$JAVA_HOME&lt;span class="sr"&gt;/jre/&lt;/span&gt;lib&lt;span class="sr"&gt;/rt.jar:$JAVA_HOME/&lt;/span&gt;lib&lt;span class="sr"&gt;/dt.jar:$JAVA_HOME/&lt;/span&gt;lib/tools&lt;span class="p"&gt;.&lt;/span&gt;jar
&lt;span class="k"&gt;export&lt;/span&gt; PATH&lt;span class="p"&gt;=&lt;/span&gt;$JAVA_HOME/&lt;span class="nb"&gt;bin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;$PATH 
执行 &lt;span class="k"&gt;source&lt;/span&gt; &lt;span class="sr"&gt;/etc/&lt;/span&gt;&lt;span class="k"&gt;profile&lt;/span&gt;，java 环境就这样简单的装上了
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2 id="Tomcat 环境配置"&gt;Tomcat 环境配置&lt;/h2&gt;
&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;点击下载 &lt;a href="http://tomcat.apache.org/" rel="nofollow" target="_blank" title=""&gt;Tomcat&lt;/a&gt;, 如 (apache-tomcat-8.0.9.tar.gz)&lt;/li&gt;
&lt;li&gt;解压 (tar -zxvf apache-tomcat-8.0.9.tar.gz) 把解压的目录放在 /home/webuser/java/tomcat&lt;/li&gt;
&lt;li&gt;启动服务 /bin/bash /home/webuser/java/tomcat/bin/startup.sh&lt;/li&gt;
&lt;li&gt;停止服务 /bin/bash /home/webuser/java/tomcat/bin/shutdown.sh&lt;/li&gt;
&lt;li&gt;由于 Tomcat 默认启动端口为 8080, 访问 &lt;a href="http://localhost:8080" rel="nofollow" target="_blank"&gt;http://localhost:8080&lt;/a&gt; 来判断是否安装正确&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="Solr 配置"&gt;Solr 配置&lt;/h2&gt;
&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;点击&lt;a href="http://lucene.apache.org/solr/" rel="nofollow" target="_blank" title=""&gt;下载&lt;/a&gt; 最新 solr 包 (如 solr-4.8.0.zip)&lt;/li&gt;
&lt;li&gt;解压 (unzip solr-4.8.0.zip), 然后 cp solr-4.8.0/dist/solr-4.8.0.war /home/webuser/java/tomcat/webapps/ 目录下&lt;/li&gt;
&lt;li&gt;在硬盘上建立一个目录用来存放 solr 数据：比如 (/home/webuser/java/solr_data)&lt;/li&gt;
&lt;li&gt;vim /home/webuser/java/tomcat/conf/Catalina/localhost/solr.xml 添加 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;Context&lt;/span&gt; &lt;span class="na"&gt;docBase=&lt;/span&gt;&lt;span class="s"&gt;"/home/webuser/java/tomcat/webapps/solr.war"&lt;/span&gt; &lt;span class="na"&gt;debug=&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt; &lt;span class="na"&gt;crossContext=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Environment&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"solr/data"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"java.lang.String"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"solr_data的目录地址(如[/home/webuser/java/solr_data])"&lt;/span&gt; &lt;span class="na"&gt;override=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Context&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;把刚下载解压的 solr-4.8.0 包中的 dist/solrj-lib 下的所有 jar 文件复制到 tomcat/lib 目录中 (如：cp  solr-4.8.0/dist/solrj-lib/* /home/webuser/java/tomcat/lib/)&lt;/li&gt;
&lt;li&gt;复制刚下载解压的 solr-4.8.0 包中的 example/solr/solr.xml 文件放在 /home/webuser/java/solr_data 目录中 (如：cp solr-4.8.0/example/solr/solr.xml /home/webuser/java/solr_data/)&lt;/li&gt;
&lt;li&gt;点击下载&lt;a href="https://github.com/sunspot/sunspot" rel="nofollow" target="_blank" title=""&gt;sunspot&lt;/a&gt; gem 包 (使用 git clone), 复制 sunspot/sunspot_solr/solr/solr 下所有文件到 solr_data/test 中 (如：cp sunspot/sunspot_solr/solr/solr/* /home/webuser/java/solr_data/test/)&lt;/li&gt;
&lt;li&gt;重启 Tomcat, 访问 &lt;a href="http://localhost:8080/solr" rel="nofollow" target="_blank"&gt;http://localhost:8080/solr&lt;/a&gt;, 就能看到 solr 界面了&lt;/li&gt;
&lt;li&gt;在启动界面中，点击 "Core Admin", 然后点击"Add Core", 在弹出对话框中 name 输入 test, instanceDir 输入 test, 其它的默认不变，点击“Add Core”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solr 环境就算配置好了，接下来的任务就去了解 Solr 和 Sunspot, 就能入 Solr 这项技术了解了。&lt;/p&gt;
&lt;h2 id="继续学习的资料："&gt;继续学习的资料：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.solr.cc/blog/" rel="nofollow" target="_blank" title=""&gt;Solr&lt;/a&gt;: &lt;a href="http://www.solr.cc/blog/" rel="nofollow" target="_blank"&gt;http://www.solr.cc/blog/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/sunspot/sunspot" rel="nofollow" target="_blank" title=""&gt;Sunspot&lt;/a&gt;: &lt;a href="https://github.com/sunspot/sunspot" rel="nofollow" target="_blank"&gt;https://github.com/sunspot/sunspot&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;</description>
      <author>josh_sulin</author>
      <pubDate>Fri, 11 Jul 2014 08:49:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/20431</link>
      <guid>https://ruby-china.org/topics/20431</guid>
    </item>
    <item>
      <title>Selenium 快速入门 -- ruby 程序员篇</title>
      <description>&lt;h2 id="什么是Selenium(只做初始解释,更详细的请看官网)"&gt;什么是 Selenium(只做初始解释，更详细的请看官网)&lt;/h2&gt;
&lt;p&gt;Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。据 Selenium 主页所说，与其他测试工具相比，使用 Selenium 的最大好处是：&lt;/p&gt;
&lt;h3 id="1. Selenium 测试直接在浏览器中运行，就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。"&gt;1. Selenium 测试直接在浏览器中运行，就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。&lt;/h3&gt;&lt;h3 id="2. 使用 Selenium 和在浏览器中运行测试还有很多其他好处。下面是主要的两大好处："&gt;2. 使用 Selenium 和在浏览器中运行测试还有很多其他好处。下面是主要的两大好处：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;通过编写模仿用户操作的 Selenium 测试脚本，可以从终端用户的角度来测试应用程序。&lt;/li&gt;
&lt;li&gt;通过在不同浏览器中运行测试，更容易发现浏览器的不兼容性。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="Selenium 能做什么"&gt;Selenium 能做什么&lt;/h2&gt;
&lt;p&gt;作为 Programmer 来说，写一段程序来帮助我们完成一系列繁琐的人工操作工作，是一件多么愉快的事。21 世纪是网络的时代，几乎所有的互联网操作都离不开浏览器，如果能让程序控制浏览器来为我们做一系列繁琐的工作，互联网的那些事儿不就变得简单了吗？太好了，想起都太好了。&lt;/p&gt;

&lt;p&gt;Selenium 正是能为我们做这些事的工具。&lt;/p&gt;
&lt;h2 id="如何安装"&gt;如何安装&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://code.google.com/p/selenium/downloads/list?can=1&amp;amp;q=" rel="nofollow" target="_blank"&gt;http://code.google.com/p/selenium/downloads/list?can=1&amp;amp;q=&lt;/a&gt; 在该网站上面下载所需的安装包。&lt;/p&gt;
&lt;h3 id="1. Linux 环境"&gt;1. Linux 环境&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;操作系统一定要为桌面型 Linux 操作系统 (因为需要启浏览器)&lt;/li&gt;
&lt;li&gt;安装 java 环境 (JDK)&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://code.google.com/p/selenium/downloads/list?can=1&amp;amp;q=" rel="nofollow" target="_blank" title=""&gt;点击链接&lt;/a&gt;下载：selenium-server-standalone-2.39.0.jar(现在最近版本己是 2.42, 线上布署的为 2.39)&lt;/li&gt;
&lt;li&gt;运行该 jar 包 (java -jar /root/code/selenium-server-standalone-2.39.0.jar -role hub -DPOOL_SIZE 512 -port 80 ) 后面跟的参数大家可以在&lt;a href="http://docs.seleniumhq.org/" rel="nofollow" target="_blank" title=""&gt;官网&lt;/a&gt;查询，这里不做重复解释，特别需要注意的是：最好使用 root 来启动，因为 jar 包里面需要权限去执行其他操作。&lt;/li&gt;
&lt;li&gt;浏览器访问：&lt;a href="http://127.0.0.1" rel="nofollow" target="_blank"&gt;http://127.0.0.1&lt;/a&gt; 就能看到 selenium server grid 的界面，表时 selenium 服务器己搭建好&lt;/li&gt;
&lt;li&gt;需要在 selenium server 上启动具体的 Selenium-RC 实例。(java -jar /root/selenium/selenium-server-standalone-2.39.0.jar -role node -hub &lt;a href="http://localhost:80/grid/register" rel="nofollow" target="_blank"&gt;http://localhost:80/grid/register&lt;/a&gt; -browser browserName=firefox,firefox_binary=/usr/bin/firefox,version=24.6.0 platform=LINUX -port 5553 -registerCycle=60000) 该命令执行后，就有运行的具体实例了。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*在 客户端 就可以通过 &lt;a href="http://localhost:5553/wd/hub" rel="nofollow" target="_blank"&gt;http://localhost:5553/wd/hub&lt;/a&gt; 来进行调用了。&lt;/p&gt;
&lt;h3 id="2. Windows 环境"&gt;2. Windows 环境&lt;/h3&gt;
&lt;p&gt;与 Linux 环境有很多相同点。由于 linux 环境下相比 Window 环境更稳定，所以一般在没有使用 Windows 环境的情况下，都是使用的 Linux 环境下面的 firefox，如果我们一定要使用Windows 环境，我们主要是使用它的 IE 浏览器。&lt;/p&gt;

&lt;p&gt;如果一定要使用 Windows 环境，我们这里也说一下如何搭建&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;安装 java 环境 (JDK)&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://code.google.com/p/selenium/downloads/list?can=1&amp;amp;q=" rel="nofollow" target="_blank" title=""&gt;点击链接&lt;/a&gt;下载：selenium-server-standalone-2.39.0.jar(现在最近版本己是 2.42, 线上布署的为 2.39)，IEDriverServer.exe(启动 IE 浏览器的 Driver)&lt;/li&gt;
&lt;li&gt;运行该 jar 包 (java -jar C:\selenium\selenium-server-standalone-2.39.0.jar -role hub -DPOOL_SIZE 512 -port 80) 后面跟的参数大家可以在&lt;a href="http://docs.seleniumhq.org/" rel="nofollow" target="_blank" title=""&gt;官网&lt;/a&gt;查询。&lt;/li&gt;
&lt;li&gt;浏览器访问：&lt;a href="http://127.0.0.1" rel="nofollow" target="_blank"&gt;http://127.0.0.1&lt;/a&gt; 就能看到 selenium server grid 的界面，表时 selenium 服务器己搭建好&lt;/li&gt;
&lt;li&gt;需要在 selenium server 上启动具体的 Selenium-RC 实例。(java -jar C:\selenium\selenium-server-standalone-2.39.0.jar -role node -hub &lt;a href="http://localhost:80/register" rel="nofollow" target="_blank"&gt;http://localhost:80/register&lt;/a&gt; -browser browserName="internet explorer" -Dwebdriver.ie.driver=C:\selenium\IEDriverServer.exe -port 5553 naxInstance=1,platform=WINDOWS) 该命令执行后，就有运行的具体实例了&lt;/li&gt;
&lt;li&gt;现在 客户端 就可以通过 &lt;a href="http://localhost:5553/wd/hub" rel="nofollow" target="_blank"&gt;http://localhost:5553/wd/hub&lt;/a&gt; 来进行调用了。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;与 Linux 环境的区别：&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Selenium 默认使用的 Driver 是 firefox, 在 window 环境下面需要启动 IE，所以我们需要 IEDriverServer.exe&lt;/li&gt;
&lt;li&gt;Window 环境下面，目前官网明确说明支持 XP，其他系统官方没有明确说明是否支持&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id="Ruby 如何操作"&gt;Ruby 如何操作&lt;/h2&gt;&lt;h3 id="１、所需GEM包"&gt;1、所需 GEM 包&lt;/h3&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;gem 'selenium-webdriver', '2.39.0' #2.39.0 该版本号一定要与 selenium-server-standalone-2.39.0.jar 这个 java 包的版本一致&lt;/li&gt;
&lt;li&gt;gem 'selenium'&lt;/li&gt;
&lt;li&gt;gem 'selenium-client'&lt;/li&gt;
&lt;li&gt;gem 'capybara', '2.2.1'&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;以上 gem 包的作用请在 &lt;a href="https://github.com/" rel="nofollow" target="_blank"&gt;https://github.com/&lt;/a&gt; 上面看文档&lt;/p&gt;
&lt;h3 id="2、Selenium-RC实例为：Firefox，初始化代码如下:"&gt;2、Selenium-RC 实例为：Firefox，初始化代码如下：&lt;/h3&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;DSL&lt;/span&gt;   &lt;span class="c1"&gt;#我们使用Capybara来操作Selenium&lt;/span&gt;
&lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run_server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
&lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;default_driver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;:selenium&lt;/span&gt;
&lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;register_driver&lt;/span&gt; &lt;span class="ss"&gt;:selenium&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="n"&gt;http_client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;timeout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1800&lt;/span&gt;
  &lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Selenium&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Driver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:browser&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:remote&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:url&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'http://localhost:5553/wd/hub'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="c1"&gt;#我们上面为之非常努力配置的　Selenium-RC实例&lt;/span&gt;
    &lt;span class="ss"&gt;:desired_capabilities&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:firefox&lt;/span&gt;&lt;span class="err"&gt;　　＃&lt;/span&gt;&lt;span class="n"&gt;其实只有这里不同&lt;/span&gt;
&lt;span class="err"&gt;　&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;初始化成功后，我们就可以使用 Capybara::DSL 里面封装的 selenium 操作浏览器的方法了。
比如：让浏览器访问一个网页，就只需要使用 visit '&lt;a href="http://www.baidu.com" rel="nofollow" target="_blank"&gt;http://www.baidu.com&lt;/a&gt;'
大家先看看这里面，非常的人性化的方法：&lt;a href="https://github.com/jnicklas/capybara" rel="nofollow" target="_blank"&gt;https://github.com/jnicklas/capybara&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="３、Selenium-RC实例为：IE, 初始化代码如下："&gt;3、Selenium-RC 实例为：IE, 初始化代码如下：&lt;/h3&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;DSL&lt;/span&gt;   &lt;span class="c1"&gt;#我们使用Capybara来操作Selenium&lt;/span&gt;
&lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run_server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
&lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;default_driver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;:selenium&lt;/span&gt;
&lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;register_driver&lt;/span&gt; &lt;span class="ss"&gt;:selenium&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="n"&gt;http_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Selenium&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;WebDriver&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Remote&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Default&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
  &lt;span class="n"&gt;http_client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;timeout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1800&lt;/span&gt;
  &lt;span class="no"&gt;Capybara&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Selenium&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Driver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:browser&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:remote&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:url&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'http://localhost:5553/wd/hub'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="c1"&gt;#我们上面为之非常努力配置的　Selenium-RC实例&lt;/span&gt;
    &lt;span class="ss"&gt;:desired_capabilities&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:internet_explorer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt;　　＃&lt;/span&gt;&lt;span class="n"&gt;其实只有这里不同&lt;/span&gt;
    &lt;span class="ss"&gt;:http_client&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;http_client&lt;/span&gt;
&lt;span class="err"&gt;　&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;初始化成功后，我们就可以使用 Capybara::DSL 里面封装的 selenium 操作浏览器的方法了。
比如：让浏览器访问一个网页，就只需要使用 visit '&lt;a href="http://www.baidu.com" rel="nofollow" target="_blank"&gt;http://www.baidu.com&lt;/a&gt;'
大家先看看这里面，非常的人性化的方法：&lt;a href="https://github.com/jnicklas/capybara" rel="nofollow" target="_blank"&gt;https://github.com/jnicklas/capybara&lt;/a&gt;&lt;/p&gt;</description>
      <author>josh_sulin</author>
      <pubDate>Tue, 08 Jul 2014 19:17:11 +0800</pubDate>
      <link>https://ruby-china.org/topics/20380</link>
      <guid>https://ruby-china.org/topics/20380</guid>
    </item>
  </channel>
</rss>
